Javascript jQuery图像滑块首先加载第三个和第四个图像的图像,而不是第一个
我正试图根据找到的代码制作一个基本的图像滑块,但编辑后的横幅更长。现在的问题是,无论何时加载,它都会显示第3个和第4个图像的合并,而不是显示第1个图像。一旦你把它移到第二张图片上,它就可以正常工作,即使你回到第一张图片上,也没有什么问题 jQuery代码太长,无法在这里发布,但未从上面的下载中编辑(我不熟悉它,也不知道如何编辑它) 但我确实将html文件更改为以下内容:Javascript jQuery图像滑块首先加载第三个和第四个图像的图像,而不是第一个,javascript,jquery,image,slider,banner,Javascript,Jquery,Image,Slider,Banner,我正试图根据找到的代码制作一个基本的图像滑块,但编辑后的横幅更长。现在的问题是,无论何时加载,它都会显示第3个和第4个图像的合并,而不是显示第1个图像。一旦你把它移到第二张图片上,它就可以正常工作,即使你回到第一张图片上,也没有什么问题 jQuery代码太长,无法在这里发布,但未从上面的下载中编辑(我不熟悉它,也不知道如何编辑它) 但我确实将html文件更改为以下内容: <html xmlns="http://www.w3.org/1999/xhtml"><head>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<style type="text/css">
body {
background: #222;
margin: 0; padding: 0;
font: normal 10px Verdana, Arial, Helvetica, sans-serif;
}
*{outline: none;}
img {border: 0;}
.container {
width: 790px;
padding: 0;
margin: 0 auto;
}
.folio_block {
position: absolute;
left: 50%; top: 50%;
margin: -140px 0 0 -395px;
}
/*--Main Container--*/
.main_view {
float: left;
position: relative;
}
/*--Window/Masking Styles--*/
.window {
height:175px; width: 900px;
overflow: hidden; /*--Hides anything outside of the set width/height--*/
position: relative;
}
.image_reel {
position: absolute;
top: 0; left: 0;
}
.image_reel img {float: left;}
/*--Paging Styles--*/
.paging {
position: absolute;
bottom: 0px; right: -7px;
width: 178px; height:47px;
z-index: 100; /*--Assures the paging stays on the top layer--*/
text-align: center;
line-height: 40px;
background: url(paging_bg2.png) no-repeat;
display: none; /*--Hidden by default, will be later shown with jQuery--*/
}
.paging a {
padding: 4px;
text-decoration: none;
color: #fff;
}
.paging a.active {
font-weight: bold;
background: #474747;
border: 1px solid #171717;
-moz-border-radius: 3px;
-khtml-border-radius: 3px;
-webkit-border-radius: 3px;
}
.paging a:hover {font-weight: bold;}
</style>
</head><body>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
//Set Default State of each portfolio piece
$(".paging").show();
$(".paging a:first").addClass("active");
//Get size of images, how many there are, then determine the size of the image reel.
var imageWidth = $(".window").width();
var imageSum = $(".image_reel img").size();
var imageReelWidth = imageWidth * imageSum;
//Adjust the image reel to its new size
$(".image_reel").css({'width' : imageReelWidth});
//Paging + Slider Function
rotate = function(){
var triggerID = $active.attr("rel") - 1; //Get number of times to slide
var image_reelPosition = triggerID * imageWidth; //Determines the distance the image reel needs to slide
$(".paging a").removeClass('active'); //Remove all active class
$active.addClass('active'); //Add active class (the $active is declared in the rotateSwitch function)
//Slider Animation
$(".image_reel").animate({
left: -image_reelPosition
}, 500 );
};
//Rotation + Timing Event
rotateSwitch = function(){
play = setInterval(function(){ //Set timer - this will repeat itself every 3 seconds
$active = $('.paging a.active').next();
if ( $active.length === 0) { //If paging reaches the end...
$active = $('.paging a:first'); //go back to first
}
rotate(); //Trigger the paging and slider function
}, 7000); //Timer speed in milliseconds (3 seconds)
};
rotateSwitch(); //Run function on launch
//On Hover
$(".image_reel a").hover(function() {
clearInterval(play); //Stop the rotation
}, function() {
rotateSwitch(); //Resume rotation
});
//On Click
$(".paging a").click(function() {
$active = $(this); //Activate the clicked paging
//Reset Timer
clearInterval(play); //Stop the rotation
rotate(); //Trigger rotation immediately
rotateSwitch(); // Resume rotation
return false; //Prevent browser jump to link anchor
});
});
</script>
<div class="container">
<div class="folio_block">
<div class="main_view">
<div class="window">
<div style="width: 3160px; left: -2370px;"
class="image_reel">
<a href="#"><img
src="reel_1.jpg"
alt=""/></a>
<a href="#"><img
src="reel_2.jpg"
alt=""/></a>
<a href="#"><img
src="reel_3.jpg"
alt=""/></a>
<a href="#"><img
src="reel_4.jpg"
alt=""/></a>
</div>
</div>
<div style="display: block;" class="paging">
<a class="" href="#" rel="1">1</a>
<a class="" href="#" rel="2">2</a>
<a class="" href="#" rel="3">3</a>
<a class="" href="#" rel="4">4</a>
</div>
</div>
</div>
</div>
</body></html>
身体{
背景:#222;
边距:0;填充:0;
字体:普通10px Verdana,Arial,Helvetica,无衬线;
}
*{大纲:无;}
img{边界:0;}
.集装箱{
宽度:790px;
填充:0;
保证金:0自动;
}
1.对开区{
位置:绝对位置;
左侧:50%;顶部:50%;
保证金:-140px0-395px;
}
/*--主容器--*/
.main_视图{
浮动:左;
位置:相对位置;
}
/*--窗口/遮罩样式--*/
.窗户{
高度:175px;宽度:900px;
溢出:隐藏;/*--隐藏设置宽度/高度以外的任何内容--*/
位置:相对位置;
}
.图像卷{
位置:绝对位置;
顶部:0;左侧:0;
}
.image_卷盘img{float:left;}
/*--分页样式--*/
.传呼{
位置:绝对位置;
底部:0px;右侧:-7px;
宽度:178px;高度:47px;
z-index:100;/*--确保分页保持在顶层--*/
文本对齐:居中;
线高:40px;
背景:url(paging_bg2.png)不重复;
显示:无;/*--默认情况下隐藏,稍后将使用jQuery显示--*/
}
.传呼a{
填充:4px;
文字装饰:无;
颜色:#fff;
}
.呼叫a.激活{
字体大小:粗体;
背景#4747;
边框:1px实心#171717;
-moz边界半径:3px;
-khtml边界半径:3px;
-webkit边界半径:3px;
}
.paging a:hover{font-weight:bold;}
$(文档).ready(函数(){
//设置每个投资组合的默认状态
$(“.paging”).show();
$(“.paging a:first”).addClass(“active”);
//获取图像的大小,有多少图像,然后确定图像卷轴的大小。
var imageWidth=$(“.window”).width();
var imageSum=$(“.image\u卷筒img”).size();
var imageReelWidth=imageWidth*imageSum;
//将图像卷轴调整为其新尺寸
$(“.image_-reel”).css({'width':imageReelWidth});
//分页+滑块功能
旋转=函数(){
var triggerID=$active.attr(“rel”)-1;//获取要滑动的次数
var image\u reelPosition=triggerID*imageWidth;//确定图像卷轴需要滑动的距离
$(“.paging a”).removeClass('active');//删除所有活动类
$active.addClass('active');//添加active类(在rotateSwitch函数中声明$active)
//滑块动画
$(“.image_-revel”)。设置动画({
左:-图像位置
}, 500 );
};
//旋转+定时事件
旋转开关=函数(){
play=setInterval(函数(){//Set timer-每3秒重复一次
$active=$('.paging a.active').next();
如果($active.length==0){//如果分页到达末尾。。。
$active=$('.paging a:first');//返回到first
}
rotate();//触发分页和滑块函数
},7000);//计时器速度(毫秒(3秒)
};
rotateSwitch();//启动时运行函数
//悬停
$(“.image_卷盘a”).hover(函数(){
clearInterval(播放);//停止旋转
},函数(){
旋转开关();//恢复旋转
});
//点击
$(“.a”)。单击(函数(){
$active=$(this);//激活单击的分页
//重置计时器
clearInterval(播放);//停止旋转
rotate();//立即触发旋转
旋转开关();//恢复旋转
返回false;//防止浏览器跳转到链接定位
});
});
任何帮助都将不胜感激,我有点不知所措问题似乎出在您的HTML中。.image\u revel div中的样式声明是导致您出现问题的原因。谢谢David,看起来这与绝对位置有关。我不知道我是不是盯着屏幕看得太久了,还是怎么了,但我不太确定如何修复它(将位置更改为“固定”或任何东西会破坏旋转)。有什么建议吗?对不起,换电话