本文目錄一覽:
求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