js輪播開源代碼(輪播圖後端代碼實現)

本文目錄一覽:

求js輪播圖代碼,有詳細注釋

!DOCTYPE html

html lang=”en”

head

meta charset=”UTF-8″

title/title

style type=”text/css”

* {

padding: 0;

margin: 0;

list-style: none;

border: 0;

}

.all {

width: 500px;

height: 200px;

padding: 7px;

border: 1px solid #ccc;

margin: 100px auto;

position: relative;

}

.screen {

width: 500px;

height: 200px;

overflow: hidden;

position: relative;

}

.screen li {

width: 500px;

height: 200px;

overflow: hidden;

float: left;

}

.screen ul {

position: absolute;

left: 0;

top: 0px;

width: 3000px;

}

.all ol {

position: absolute;

right: 10px;

bottom: 10px;

line-height: 20px;

text-align: center;

}

.all ol li {

float: left;

width: 20px;

height: 20px;

background: #fff;

border: 1px solid #ccc;

margin-left: 10px;

cursor: pointer;

}

.all ol li.current {

background: #DB192A;

}

#arr {

display: none;

}

#arr span {

width: 40px;

height: 40px;

position: absolute;

left: 5px;

top: 50%;

margin-top: -20px;

background: #000;

cursor: pointer;

line-height: 40px;

text-align: center;

font-weight: bold;

font-family: ‘黑體’;

font-size: 30px;

color: #fff;

opacity: 0.3;

border: 1px solid #fff;

}

#arr #right {

right: 5px;

left: auto;

}

/style

/head

body

div class=”all” id=’box’

!–相框–

div class=”screen”

ul

li

img src=”images/41.jpg” width=”500″ height=”200″ /

/li

li

img src=”images/42.jpg” width=”500″ height=”200″ /

/li

li

img src=”images/43.jpg” width=”500″ height=”200″ /

/li

li

img src=”images/44.jpg” width=”500″ height=”200″ /

/li

li

img src=”images/45.jpg” width=”500″ height=”200″ /

/li

/ul

ol

/ol

/div

div id=”arr”

span id=”left”lt;/span

span id=”right”gt;/span

/div

/div

!– script src=”common.js”/script —

script

function my$(id) {

return document.getElementById(id);

}

function setInnerText(element, content) {

if (typeof element.textContent === “undefined”) {

//IE瀏覽器

element.innerText = content;

} else {

element.textContent = content;

}

}

function animate(element, target) {

//先幹掉定時器

clearInterval(element.timeId);

element.timeId = setInterval(function () {

//時時的獲取元素的當前的位置

var current = element.offsetLeft;

//每次移動的步數

var step = 10;

//設置每次移動的步數是正數還是負數

step = current  target ? step : -step;

//移動後的當前的位置

current += step;

if (Math.abs(target – current)  Math.abs(step)) {

element.style.left = current + “px”;

} else {

clearInterval(element.timeId);

element.style.left = target + “px”;

}

}, 20);

}

//獲取最外面的div

var box = my$(“box”);

//獲取相框

var screen = box.children[0];

//獲取相框的寬度

var imgWidth = screen.offsetWidth;

//獲取ul

var ulObj = screen.children[0];

//獲取ul中的li

var ulLiObj = ulObj.children;

//獲取ol

var olObj = screen.children[1];

//獲取的是左右焦點的div

var arr = my$(“arr”);

//獲取左邊的按鈕

var left = my$(“left”);

//獲取右邊的按鈕

var right = my$(“right”);

var pic = 0;

//頁面載入後先創建小按鈕,根據ul中的li個個數來創建li,把li加入到ol中

for (var i = 0; i  ulLiObj.length; i++) {

//創建li

var liObj = document.createElement(“li”);

//把li加入到ol中

olObj.appendChild(liObj);

setInnerText(liObj, (i + 1)); //兼容代碼

//為每個ol中的li添加一個自定義屬性存儲索引值

liObj.setAttribute(“index”, i);

//為每個li註冊滑鼠進入事件

liObj.onmouseover = function () {

//先把ol中所有的li的背景顏色全部幹掉

for (var j = 0; j  olObj.children.length; j++) {

olObj.children[j].removeAttribute(“class”);

}

//設置當前滑鼠進入的li有背景顏色

this.className = “current”;

//移動ul

//獲取滑鼠進入的ol中的li的索引值

pic = this.getAttribute(“index”);

animate(ulObj, -pic * imgWidth);

};

}

//第一個標籤設置顏色

olObj.children[0].className = “current”;

//追加一個圖片到ul中

ulObj.appendChild(ulObj.children[0].cloneNode(true));

//頁面載入之後自動移動

var timeId = setInterval(f1, 1000);

//滑鼠進入

box.onmouseover = function () {

arr.style.display = “block”;

clearInterval(timeId);

}

//滑鼠離開

box.onmouseout = function () {

arr.style.display = “none”;

timeId = setInterval(f1, 1000);

}

//右邊焦點

right.onclick = f1;

function f1() {

//判斷是否到達最後一張

if (pic == ulLiObj.length – 1) {

//跳轉到第一張

pic = 0;

ulObj.style.left = -pic * imgWidth + “px”;

}

pic++;

//調用動畫函數

animate(ulObj, -pic * imgWidth);

//刷一遍

for (var i = 0; i  olObj.children.length; i++) {

olObj.children[i].removeAttribute(“class”);

}

//第一個按鈕的顏色

if (pic == ulLiObj.length – 1) {

olObj.children[0].className = “current”;

} else {

olObj.children[pic].className = “current”;

}

};

//左邊焦點

left.onclick = function () {

//判斷是否到達第一張圖片

if (pic == 0) {

//跳轉到第六張圖片

pic = ulLiObj.length – 1;

ulObj.style.left = -pic * imgWidth + “px”;

}

pic–;

//調用動畫函數

animate(ulObj, -pic * imgWidth);

//刷一遍

for (var i = 0; i  olObj.children.length; i++) {

olObj.children[i].removeAttribute(“class”);

}

olObj.children[pic].className = “current”;

}

/script

/body

/html

JS輪播彈窗代碼

//時間控制的廣告代碼

var cookie = {

ad0:30,//時間控制第一個廣告30分鐘輪播

ad1:60,//時間控制第二個廣告60分鐘輪播

ad_num : 2,

get_cookie : function(Name){var search = Name + “=”; var returnvalue = “”;if (document.cookie.length 0) {offset = document.cookie.indexOf(search);if (offset != -1) {offset += search.length;end = document.cookie.indexOf(“;”, offset);if (end == -1)end = document.cookie.length;returnvalue=unescape(document.cookie.substring(offset, end));}}return returnvalue;},

init : function(){

for(var i=0; icookie.ad_num; i++){

if(cookie.get_cookie(‘ppad_cookie_’+i)){

continue;

}else{

var Then = new Date();current_time = eval(‘cookie.ad’+i);Then.setTime(Then.getTime() + current_time*60*1000);document.cookie=’ppad_cookie_’+i+’=1;expires=’+ Then.toGMTString()+’;path=/;’;

switch(i){

case 0:

廣告代碼一 break;

case 1:

廣告代碼二 break;

}

break;

}

}

}

}

cookie.init();

//直接就放JS文件裡面

js實現輪播代碼怎麼寫?

!DOCTYPE html

html

head

meta charset=”UTF-“

title最簡單的輪播廣告/title

style

body, div, ul, li {

margin: ;

padding: ;

}

ul {

list-style-type: none;

}

body {

background: #;

text-align: center;

font: px/px Arial;

}

#box {

position: relative;

width: px;

height: px;

background: #fff;

border-radius: px;

border: px solid #fff;

margin: px auto;

}

#box .list {

position: relative;

width: px;

height: px;

overflow: hidden;

border: px solid #ccc;

}

#box .list li {

position: absolute;

top: ;

left: ;

width: px;

height: px;

opacity: ;

transition: opacity .s linear

}

#box .list li.current {

opacity: ;

}

#box .count {

position: absolute;

right: ;

bottom: px;

}

#box .count li {

color: #fff;

float: left;

width: px;

height: px;

cursor: pointer;

margin-right: px;

overflow: hidden;

background: #F;

opacity: .;

border-radius: px;

}

#box .count li.current {

color: #fff;

opacity: .;

font-weight: ;

background: #f

}

/style

/head

body

div id=”box”

ul

li style=”opacity: ;”img src=”img/images/.jpg” width=”” height=””/li

li style=”opacity: ;”img src=”img/images/.jpg” width=”” height=””/li

li style=”opacity: ;”img src=”img/images/.jpg” width=”” height=””/li

li style=”opacity: ;”img src=”img/images/.jpg” width=”” height=””/li

li style=”opacity: ;”img src=”img/images/.jpg” width=”” height=””/li

/ul

ul

li/li

li class=””/li

li class=””/li

li class=””/li

li class=””/li

/ul

/div

script

var box=document.getElementById(‘box’);

var uls=document.getElementsByTagName(‘ul’);

var imgs=uls[].getElementsByTagName(‘li’);

var btn=uls[].getElementsByTagName(‘li’);

var i=index=; //中間量,統一聲明;

var play=null;

console.log(box,uls,imgs,btn);//獲取正確

//圖片切換, 淡入淡出效果我是用(transition: opacity .s linear)做的,不糾結、簡單 在css裡面

function show(a){    //方法定義的是當傳入一個下標時,按鈕和圖片做出對的反應

for(i=;ibtn.length;i++ ){

btn[i].className=”;  //很容易看懂吧?每個按鈕都先設置成看不見,然後把當前按鈕設置成可見。

btn[a].className=’current’;

}

for(i=;iimgs.length;i++){ //把圖片的效果設置和按鈕相同

imgs[i].style.opacity=;

imgs[a].style.opacity=;

}

}

//切換按鈕功能,響應對應圖片

for(i=;ibtn.length;i++){

btn[i].index=i; //不知道你有沒有發現,循環里的方法去調用循環里的變數體i,會出現調到的不是i的變動值的問題。所以我先在循環外保存住

btn[i].onmouseover=function(){

show(this.index);

clearInterval(play); //這就是最後那句話追加的功能

}

}

//自動輪播方法

function autoPlay(){

play=setInterval(function(){ //這個paly是為了保存定時器的,變數必須在全局聲明 不然其他方法調不到 或者你可以調用auto.play 也許可以但是沒時間試了

index++;

index=imgs.length(index=);//可能有優先順序問題,所以用了括弧,沒時間測試了。

show(index);

},)

}

autoPlay();//馬上調用,我試過用window.onload調用這個方法,但是調用之後影響到了其他方法,使用autoPlay所以只能這樣調用了

//div的滑鼠移入移出事件

box.onmouseover=function(){

clearInterval(play);

};

box.onmouseout=function(){

autoPlay();

};

//按鈕下標也要加上相同的滑鼠事件,不然圖片停止了,定時器沒停,會突然閃到很大的數字上。 貌似我可以直接追加到之前定義事件中。

/script

/body

/html

圖片自動播放輪播JQ,js代碼。

//輪播器

var crs_num=1

function interval(){

carousel=setInterval(function(){

num2=crs_num*-800

$(‘.crs_img’).animate({

attr:’x’,

target:num2,

time:50,

speed:10,

})

$(‘.crs_words p’).html($(‘.crs_img img’).getnum(crs_num).attr(‘alt’))

$(‘#carousel li’).css(‘color’,’#999′)

$(‘#carousel li’).getnum(crs_num).css(‘color’,’#333′)

crs_num++;

if(crs_num==3)crs_num=0;

},3000)

}

interval();

$(‘#carousel li’).hover(function(){

var num=$(this).childNum()*-800

clearInterval(carousel)

$(‘.crs_img’).animate({

attr:’x’,

target:num,

time:50,

speed:5,

})

$(‘.crs_words p’).html($(‘.crs_img img’).getnum($(this).childNum()).attr(‘alt’))

$(‘#carousel li’).css(‘color’,’#999′)

$(this).css(‘color’,’#333′)

},function(){

interval()

})

animate是自己封裝的,可能和jq不兼容

求淡入淡出的js輪播效果的代碼

如下代碼可以實現,不過你首先需要引用Jquery,我使用的是jquery-1.7.1.min.js

支持兩個div或多個div的淡入淡出切換:

div id=”imgbox”

    div style=”width:100px;height:100px;background-color:red;”/div

    div style=”width:100px;height:100px;background-color:blue;”/div

/div

script src=”jquery-1.7.1.min.js”/script

script

$(document).ready(function(){

    $(“#imgbox div”).fadeOut(0).eq(0).fadeIn(0);

    var i = 0;

    setInterval(function(){

        if($(“#imgbox div”).length  (i+1)){

            $(“#imgbox div”).eq(i).fadeOut(0).next(“div”).fadeIn(1000);

            i++;

        }

        else{

            $(“#imgbox div”).eq(i).fadeOut(0).siblings(“div”).eq(0).fadeIn(1000);

            i = 0;

        }

    },2000);

});

/script

求首頁js輪播圖代碼

!DOCTYPE html

html

head

  meta charset=”UTF-8″

  titlequery焦點輪播圖/title

  style type=”text/css”

      *{ margin: 0; padding: 0; text-decoration: none;}

      body { padding: 20px;}

      #container { width: 600px; height: 400px; border: 3px solid #333; overflow: hidden; position: relative;}

      #list { width: 4200px; height: 400px; position: absolute; z-index: 1;}

      #list img { float: left;}

      #buttons { position: absolute; height: 10px; width: 100px; z-index: 2; bottom: 20px; left: 250px;}

      #buttons span { cursor: pointer; float: left; border: 1px solid #fff; width: 10px; height: 10px; border-radius: 50%; background: #333; margin-right: 5px;}

      #buttons .on {  background: orangered;}

      .arrow { cursor: pointer; display: none; line-height: 39px; text-align: center; font-size: 36px; font-weight: bold; width: 40px; height: 40px;  position: absolute; z-index: 2; top: 180px; background-color: RGBA(0,0,0,.3); color: #fff;}

      .arrow:hover { background-color: RGBA(0,0,0,.7);}

      #container:hover .arrow { display: block;}

      #prev { left: 20px;}

      #next { right: 20px;}

  /style

  script type=”text/javascript” src=”js/jquery.1.10.2.js”/script

  script type=”text/javascript”

      $(function () {

          var container = $(‘#container’);

          var list = $(‘#list’);

          var buttons = $(‘#buttons span’);

          var prev = $(‘#prev’);

          var next = $(‘#next’);

          var index = 1;

          var len = 5;

          var interval = 3000;

          var timer;

          function animate (offset) {

              var left = parseInt(list.css(‘left’)) + offset;

              if (offset0) {

                  offset = ‘+=’ + offset;

              }

              else {

                  offset = ‘-=’ + Math.abs(offset);

              }

              list.animate({‘left’: offset}, 300, function () {

                  if(left -200){

                      list.css(‘left’, -600 * len);

                  }

                  if(left (-600 * len)) {

                      list.css(‘left’, -600);

                  }

              });

          }

          function showButton() {

              buttons.eq(index-1).addClass(‘on’).siblings().removeClass(‘on’);

          }

          function play() {

              timer = setTimeout(function () {

                  next.trigger(‘click’);

                  play();

              }, interval);

          }

          function stop() {

              clearTimeout(timer);

          }

          next.bind(‘click’, function () {

              if (list.is(‘:animated’)) {

                  return;

              }

              if (index == 5) {

                  index = 1;

              }

              else {

                  index += 1;

              }

              animate(-600);

              showButton();

          });

          prev.bind(‘click’, function () {

              if (list.is(‘:animated’)) {

                  return;

              }

              if (index == 1) {

                  index = 5;

              }

              else {

                  index -= 1;

              }

              animate(600);

              showButton();

          });

          buttons.each(function () {

               $(this).bind(‘click’, function () {

                   if (list.is(‘:animated’) || $(this).attr(‘class’)==’on’) {

                       return;

                   }

                   var myIndex = parseInt($(this).attr(‘index’));

                   var offset = -600 * (myIndex – index);

                   animate(offset);

                   index = myIndex;

                   showButton();

               })

          });

          container.hover(stop, play); //滑鼠移入停止輪播

          play();

      });

  /script

/head

body

div id=”container”

  div id=”list” style=”left: -600px;”

      img src=”img/5.jpg” alt=”1″/

      img src=”img/1.jpg” alt=”1″/

      img src=”img/2.jpg” alt=”2″/

      img src=”img/3.jpg” alt=”3″/

      img src=”img/4.jpg” alt=”4″/

      img src=”img/5.jpg” alt=”5″/

      img src=”img/1.jpg” alt=”5″/

  /div

  div id=”buttons”

      span index=”1″ class=”on”/span

      span index=”2″/span

      span index=”3″/span

      span index=”4″/span

      span index=”5″/span

  /div

  a href=”javascript:;” id=”prev” class=”arrow”lt;/a

  a href=”javascript:;” id=”next” class=”arrow”gt;/a

/div

/body

/html

可以直接複製用,記得引入JQ庫!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/182454.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-24 06:21
下一篇 2024-11-24 06:21

相關推薦

  • JS Proxy(array)用法介紹

    JS Proxy(array)可以說是ES6中非常重要的一個特性,它可以代理一個數組,監聽數據變化並進行攔截、處理。在實際開發中,使用Proxy(array)可以方便地實現數據的監…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python字元串寬度不限制怎麼打代碼

    本文將為大家詳細介紹Python字元串寬度不限制時如何打代碼的幾個方面。 一、保持代碼風格的統一 在Python字元串寬度不限制的情況下,我們可以寫出很長很長的一行代碼。但是,為了…

    編程 2025-04-29
  • Python基礎代碼用法介紹

    本文將從多個方面對Python基礎代碼進行解析和詳細闡述,力求讓讀者深刻理解Python基礎代碼。通過本文的學習,相信大家對Python的學習和應用會更加輕鬆和高效。 一、變數和數…

    編程 2025-04-29
  • 倉庫管理系統代碼設計Python

    這篇文章將詳細探討如何設計一個基於Python的倉庫管理系統。 一、基本需求 在著手設計之前,我們首先需要確定倉庫管理系統的基本需求。 我們可以將需求分為以下幾個方面: 1、庫存管…

    編程 2025-04-29
  • Python滿天星代碼:讓編程變得更加簡單

    本文將從多個方面詳細闡述Python滿天星代碼,為大家介紹它的優點以及如何在編程中使用。無論是剛剛接觸編程還是資深程序員,都能從中獲得一定的收穫。 一、簡介 Python滿天星代碼…

    編程 2025-04-29
  • 寫代碼新手教程

    本文將從語言選擇、學習方法、編碼規範以及常見問題解答等多個方面,為編程新手提供實用、簡明的教程。 一、語言選擇 作為編程新手,選擇一門編程語言是很關鍵的一步。以下是幾個有代表性的編…

    編程 2025-04-29
  • Python實現簡易心形代碼

    在這個文章中,我們將會介紹如何用Python語言編寫一個非常簡單的代碼來生成一個心形圖案。我們將會從安裝Python開始介紹,逐步深入了解如何實現這一任務。 一、安裝Python …

    編程 2025-04-29
  • 怎麼寫不影響Python運行的長段代碼

    在Python編程的過程中,我們不可避免地需要編寫一些長段代碼,包括函數、類、複雜的控制語句等等。在編寫這些代碼時,我們需要考慮代碼可讀性、易用性以及對Python運行性能的影響。…

    編程 2025-04-29
  • Python海龜代碼簡單畫圖

    本文將介紹如何使用Python的海龜庫進行簡單畫圖,並提供相關示例代碼。 一、基礎用法 使用Python的海龜庫,我們可以控制一個小海龜在窗口中移動,並利用它的「畫筆」在窗口中繪製…

    編程 2025-04-29

發表回復

登錄後才能評論