中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久

使用原生js寫的一個簡單slider
來源:易賢網 閱讀:1898 次 日期:2014-04-30 15:45:12
溫馨提示:易賢網小編為您整理了“使用原生js寫的一個簡單slider”,方便廣大網友查閱!

代碼如下:

<!doctype html>

<html lang="en">

<head>

<meta charset="UTF-8">

<title>Document</title>

<style type="text/css">

body,div,ul,li {

margin: 0;

padding: 0;

}

ul,li {

list-style: none;

}

a img {

border: none;

}

.wrap {

width: 100%;

overflow: hidden;

position: relative;

}

.wrap .prev,

.wrap .next {

height: 320px;

position: absolute;

left: -50%;

top: 0;

background-color: #999;

opacity: 0.7;

width: 100%;

}

.wrap .next {

left: auto;

right: -50%;

}

.wrap .prev:hover,

.wrap .next:hover {

opacity: 0.5;

}

.container {

width: 100%;

height: 320px;

}

.container ul {

height: 100%;

}

.container li {

width: 1000px;

height: 100%;

float: left;

}

.container li a,

.container li img {

display: block;

width: 100%;

height: 100%;

}

.page {

position: absolute;

left: 50%;

bottom: 10px;

display:none;

}

.page span {

float: left;

margin-right: 10px;

width: 20px;

height: 20px;

display: block;

cursor: pointer;

background: #999;

border-radius: 50%;

text-align: center;

color: #fff;

}

.page .select {

background: #f00;

}

</style>

</head>

<body>

<div class="wrap">

<div class="container" id="container">

<ul>

<li><a href="1"><img src="http://www.***.com/uploadfile/2013/1031/20131031084228263.jpg"></a> </li>

<li><a href="2"><img src="http://www.***.com/uploadfile/2014/0315/20140315023711196.jpg"></a></li>

<li><a href="3"><img src="http://www.***.com/uploadfile/2014/0228/20140228091207797.jpg"></a></li>

<li><a href="4"><img src="http://www.***.com/statics/images/new_img/ksss.jpg"></a></li>

</ul>

</div>

<div class="prev" id="prev"></div>

<div class="next" id="next"></div>

<div id="page" class="page"></div>

</div>

<script type="text/javascript">

/*

* Slider constructor

* @param {Node} ele 容器節點

* @param {Int} index 默認顯示第幾張

*/

var Slider = function(ele){

this.ele = ele;

this.oList = ele.children[0];

this.items = this.oList.getElementsByTagName("li");

this.itemWidth = parseInt(this.items[0].offsetWidth, 10);

this.page = document.getElementById("page");

this.prevBtn = document.getElementById("prev");

this.nextBtn = document.getElementById("next");

this.init();

}

Slider.prototype = {

constructor: Slider,

init: function(){

this.oList.style.position = 'absolute';

this.oList.style.top = 0;

this.oList.style.left = 0;

this.going = 0;

this.current = 1;

this.speed = 100;

this.timer = null;

this.wrapWidth = parseInt(this.ele.offsetWidth, 10);

this.pageCircles = null;

this.prevBtn.style.marginLeft = -this.itemWidth/2 + 'px';

this.nextBtn.style.marginRight = -this.itemWidth/2 + 'px';

if(this.items.length > 2) {

this.setUp();

} else {

this.oList.style.left = (this.wrapWidth - this.itemWidth * this.items.length)/2 + 'px';

this.prevBtn.style.display = "none";

this.nextBtn.style.display = "none";

}

this.oList.style.width = this.itemWidth * this.items.length + 'px';

},

setUp:function(){

var first1 = this.items[0].cloneNode();

first1.innerHTML = this.items[0].innerHTML;

first2 = this.items[1].cloneNode();

first2.innerHTML = this.items[1].innerHTML;

last1 = this.items[this.items.length-1].cloneNode();

last1.innerHTML = this.items[this.items.length-1].innerHTML;

last2 = this.items[this.items.length-2].cloneNode();

last2.innerHTML = this.items[this.items.length-2].innerHTML;

this.oList.appendChild(first1);

this.oList.appendChild(first2);

this.oList.insertBefore(last1, this.items[0]);

this.oList.insertBefore(last2, this.items[0]);

this.buildPage();

this.bindEvent();

this.slientGoTo();

},

buildPage:function(){

for(var i = 0,len = this.items.length - 4; i<len; i++) {

var circle = document.createElement('span');

circle.innerHTML = i + 1;

this.page.appendChild(circle);

}

this.pageCircles = this.page.getElementsByTagName('span');

this.addEvent(this.page, 'click', 'gotoIndex');

this.page.style.display = 'block';

},

bindEvent:function(){

this.addEvent(this.prevBtn, 'click', 'prev');

this.addEvent(this.nextBtn, 'click', 'next');

},

addEvent:function(ele, type, fn, context) {

context = context || this;

var innerFun = function(event) {

var evt = event || window.event;

if(typeof fn === 'string'){

context[fn].call(context, this, evt);

} else {

fn.call(context, this, evt);

}

}

if(window.addEventListener) {

ele.addEventListener(type, innerFun, false);

} else {

ele.attachEvent('on'+type, innerFun);

}

},

index:function(ele){

var parentNode = ele.parentNode;

var eles = parentNode.getElementsByTagName(ele.tagName);

for(var i = 0, len = eles.length; i<len; i++){

if(eles[i] == ele) {

return i;

}

}

},

hasClass: function(obj, cls) {

return !!obj.className && obj.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'));

},

addClass: function(obj, cls) {

if (!this.hasClass(obj, cls)) obj.className += " " + cls;

},

removeClass:function (obj, cls) {

if (this.hasClass(obj, cls)) {

var reg = new RegExp('(\\s|^)' + cls + '(\\s|$)');

obj.className = obj.className.replace(reg, ' ');

}

},

gotoIndex:function(eleContext, evt){

var ele = evt.target || evt.srcElement;

var index = this.index(ele);

if(this.current === this.items.length-4 && index === 0) {

this.current = 0;

this.slientGoTo();

} else if(this.current === 1 && index ===this.items.length-5) {

this.current = this.items.length-3;

this.slientGoTo();

}

this.current = index + 1;

this.doAnimate();

},

prev:function(eleContext, evt){

this.current--;

this.doAnimate();

},

next:function(eleContext, evt){

this.current++;

this.doAnimate();

},

doAnimate:function(){

this.distance = (this.wrapWidth-this.itemWidth*(2*this.current + 3))/2 - parseInt(this.oList.style.left, 10);

if(this.distance < 0){

this.speed = -Math.abs(this.speed);

} else {

this.speed = Math.abs(this.speed);

}

this.distance = Math.abs(this.distance);

this.animate();

},

animate:function(){

var that = this;

this.timer = setTimeout(function() {

var left = parseInt(that.oList.style.left, 10) || 0;

if (that.going+Math.abs(that.speed) >= that.distance) {

if (that.speed > 0) {

that.oList.style.left = left + that.distance - that.going + 'px';

} else {

that.oList.style.left = left - that.distance + that.going + 'px';

}

clearTimeout(that.timer);

that.going = 0;

that.onceEnd();

} else {

that.going += Math.abs(that.speed);

that.oList.style.left = left + that.speed + 'px';

that.animate();

}

}, 25);

},

slientGoTo:function(){

console.log(this.current);

this.oList.style.left = (this.wrapWidth-this.itemWidth*(2*this.current + 3))/2 + 'px';

},

setCircleSelect:function(){

for(var i=0,len = this.pageCircles.length; i<len; i++) {

var ele= this.pageCircles[i];

if(this.hasClass(ele, 'select')) {

this.removeClass(ele, 'select');

}

}

this.addClass(this.pageCircles[this.current-1], 'select');

},

correctCurrent:function(){

if(this.current === 0) {

this.current = this.items.length - 4;

} else if(this.current === this.items.length - 3) {

this.current = 1;

} else {

return false;

}

this.slientGoTo();

},

onceEnd:function(){

this.correctCurrent();

this.setCircleSelect();

}

}

var con = document.getElementById("container");

var s = new Slider(con);

</script>

</body>

</html>

更多信息請查看網絡編程
易賢網手機網站地址:使用原生js寫的一個簡單slider
由于各方面情況的不斷調整與變化,易賢網提供的所有考試信息和咨詢回復僅供參考,敬請考生以權威部門公布的正式信息和咨詢為準!

2026上岸·考公考編培訓報班

  • 報班類型
  • 姓名
  • 手機號
  • 驗證碼
關于我們 | 聯系我們 | 人才招聘 | 網站聲明 | 網站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
工業和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
云南網警備案專用圖標
聯系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網
云南網警報警專用圖標
中文字幕免费精品_亚洲视频自拍_亚洲综合国产激情另类一区_色综合咪咪久久
欧美体内she精视频在线观看| 亚洲高清激情| 欧美女主播在线| 亚洲视频每日更新| 欧美日韩国内| 亚洲精品永久免费精品| 欧美精品国产一区二区| 亚洲精品少妇30p| 欧美高清在线观看| 亚洲精品乱码久久久久久| 午夜精品视频在线观看一区二区| 亚洲精品中文字幕有码专区| 国产精品草草| 亚洲精品综合精品自拍| 亚洲国产精品小视频| 亚洲国产综合视频在线观看| 国产精品视频福利| 性欧美超级视频| 国产主播一区二区三区| 久久久久五月天| 国产婷婷色综合av蜜臀av | 狠狠色狠狠色综合| 久久亚裔精品欧美| 日韩天天综合| 国产精品视频免费观看www| 久久av一区| 欧美激情精品久久久久| 久久综合中文| 一区二区三区日韩精品| 国产精品入口66mio| 久久久亚洲精品一区二区三区 | 久久久久se| 在线播放国产一区中文字幕剧情欧美| 美女999久久久精品视频| 在线亚洲欧美专区二区| 国产性色一区二区| 国产亚洲精品久久久久动| 欧美午夜欧美| 韩日欧美一区| 性欧美精品高清| 欧美日韩一区二区三| 亚洲欧洲一区二区三区| 久久精品夜夜夜夜久久| 好吊视频一区二区三区四区 | 久久久久欧美精品| 久久亚洲色图| 在线观看不卡| 国产日本欧美一区二区三区| 久久精品国产亚洲一区二区三区| 国产精品久久久久秋霞鲁丝| 亚洲性图久久| 这里只有精品视频| 久久精品免视看| 国产亚洲一区二区在线观看| 欧美日韩精品在线播放| 欧美精品久久久久久久久老牛影院| 欧美性做爰毛片| 久久久爽爽爽美女图片| 久久国产精品久久久久久久久久 | 亚洲国产精品久久久久秋霞蜜臀| 国产一区视频网站| 国产精品狠色婷| 欧美日韩国产综合新一区| 欧美成人国产| 亚洲婷婷免费| 亚洲国产精品va| 亚洲激情偷拍| 一区二区三区精品国产| 亚洲桃花岛网站| 亚洲永久视频| 国产精品资源| 久久av红桃一区二区小说| 国内精品视频在线观看| 你懂的视频一区二区| 狠狠综合久久| 久久亚洲综合网| 欧美亚洲成人免费| 中文日韩在线视频| 国产精品美女在线观看| 性欧美大战久久久久久久免费观看| 国产精品久久久久91| 性色一区二区三区| 激情成人亚洲| 欧美精品一区二区三| 亚洲一区二区成人在线观看| 国产伦精品一区二区三区视频黑人 | 久久精品国产精品亚洲精品| 国产亚洲精品综合一区91| 老司机精品福利视频| 国产在线观看精品一区二区三区 | 欧美一区二区三区四区在线| 欧美激情精品久久久久久免费印度 | 夜夜嗨av一区二区三区四区| 亚洲一区二区黄色| 久久精品国产一区二区三区| 欧美人与禽性xxxxx杂性| 国产亚洲精品美女| 国产精品99久久久久久久女警| 久久久久国产精品一区二区| 欧美体内谢she精2性欧美| 国内成+人亚洲| 中文国产成人精品| 免费一区二区三区| 国产伦精品一区二区三区高清版 | 国产精品日韩在线| 亚洲国产精品久久久久秋霞影院| 亚洲欧美中文日韩v在线观看| 欧美国产日韩精品免费观看| 国产亚洲精品自拍| 亚洲一区二区在线| 欧美国内亚洲| 怡红院精品视频| 午夜欧美电影在线观看| 欧美激情网站在线观看| 国产欧美一区二区三区沐欲 | 国产精品久久久久久久久免费| 蜜臀久久99精品久久久久久9 | 免费国产一区二区| 国产精品大片wwwwww| 亚洲黄色在线观看| 久久精品女人的天堂av| 欧美日韩成人在线| 黄色成人免费网站| 午夜精品成人在线| 国产精品高潮呻吟视频| 亚洲激情一区| 老司机aⅴ在线精品导航| 黄色成人免费网站| 欧美在线黄色| 国产精品观看| 亚洲午夜一区二区| 欧美国产日韩亚洲一区| 国产一区美女| 欧美专区日韩专区| 国产精品久久看| 亚洲免费在线看| 欧美视频福利| 一本久久综合| 欧美日韩国产专区| 一区在线电影| 久久麻豆一区二区| 一区免费在线| 美腿丝袜亚洲色图| 国产视频一区在线观看一区免费| 亚洲免费在线视频| 欧美日韩成人网| 日韩写真在线| 欧美日韩美女在线观看| 亚洲二区三区四区| 女人天堂亚洲aⅴ在线观看| 影院欧美亚洲| 欧美插天视频在线播放| 亚洲欧洲一级| 欧美日韩视频在线一区二区观看视频| 夜色激情一区二区| 欧美性久久久| 午夜视频久久久| 国产一区二区黄色| 久久亚洲私人国产精品va| 亚洲国产91精品在线观看| 欧美大香线蕉线伊人久久国产精品| 亚洲精品久久久久| 欧美视频一区二区| 午夜在线一区二区| 激情综合激情| 欧美精品观看| 亚洲永久精品大片| 国产亚洲福利社区一区| 久久综合伊人77777| 亚洲精品欧美日韩专区| 欧美天天视频| 欧美在线视频一区二区三区| 在线观看日产精品| 欧美精品成人一区二区在线观看| 中日韩视频在线观看| 国产女主播一区二区| 久久久成人精品| 亚洲乱码精品一二三四区日韩在线| 欧美日韩在线三级| 欧美自拍偷拍| 亚洲激情网址| 国产精品成人观看视频国产奇米| 欧美在线电影| 亚洲精品久久久一区二区三区| 国产精品xxx在线观看www| 久久爱91午夜羞羞| 亚洲精品网址在线观看| 国产精品入口66mio| 久久综合色播五月| 99精品欧美一区二区三区| 国产亚洲欧美另类中文| 欧美黄色大片网站| 午夜在线a亚洲v天堂网2018| 亚洲电影免费观看高清完整版在线| 欧美视频二区36p| 久久久久国产一区二区三区| 99伊人成综合| 一区二区三区无毛| 国产精品久久久久久久久久三级 | 欧美自拍偷拍|