jQuery图像滑块首先加载合并的第三和第四的图像,而不是第一个
jQuery image slider first loading amalgimation of 3rd and 4th images instead of 1st
我试图使一个基本的图像滑块基于这里找到的代码,但编辑较长的横幅。现在的问题是,每当它加载,而不是显示第一个刺激,它显示的是第三和第四图像的合并,第一个图像的滑块。一旦你把它移动到第二张图片,它就会正常工作,甚至当你回到第一张图片时也没有任何问题。
jQuery代码太长了,不能在这里发布,但它是未经编辑的,从上面的下载(我不熟悉它,不知道如何编辑它)
我确实将html文件更改为以下内容:
<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>
任何帮助都将非常感谢,我有点力不从心
问题似乎出在你的HTML中。.image_reeldiv中的样式声明是导致问题的原因。
相关文章:
- 而循环只设置php中输入字段中的第一个值
- 错误:$injector:modulerr模块错误(我的第一个SPA应用程序)
- IE11中的第二个调用取消了第一个Fetch API调用
- Javascript XMLHttpRequest——只有第一个POST请求有效
- 使用javascript或angularjs特定过滤器搜索字符串中第一个img标记的json值
- 将OnClick函数设置为<ul>,最后一个ul是擦除第一个ul-s
- RxJS油门行为;立即获取第一个值
- Angular UI网格:如何通过第一个UI网格中的按钮使第二个UI网格可见
- 选择多个实例中的第一个
- 如何在调用下一个请求之前完成第一个Ajax Get请求
- Lodash:返回对象的第一个键,该对象的值(即数组)中有一个给定的元素(即字符串)
- 看起来第一个console.log是'It’不太对
- 与杜兰达尔合作的第一个JavaScript项目.尝试从第三方 API 获取数据
- 节点发布错误对象的第一个“属性”
- Javascript:表单验证getElementById仅返回第一个id元素
- 仅将 CSS 规则应用于
中的第一个 ,而不分配类/ID - 如何使用JQuery基于存储在第一个TD中的表的值来隐藏存储在第二个TD的图像
- 为什么jQuery代码将最后一个图像替换为第一个
- 我的第一个javascript代码不起作用-自制的图像滑块
- jQuery图像滑块首先加载合并的第三和第四的图像,而不是第一个