[英]slider with opacity and z-index not working properly
我对JQuery很陌生。 我正在使用一个滑块,单击拇指时会显示图像。 现在,我给拇指和整个图像赋予了一些数据角色,以便如果单击3号拇指,则将数据ID 3的整个图像设置为不透明度1和更大的z-index。 不知何故,滑块第一次在单击拇指时起作用,但是当我第二次单击时,未显示与拇指相同的图像。 这是我的代码
的HTML
<div id="sliderContainer">
<!--Filters -->
<ul id="filterList">
<li>All</li>
<li>Objects</li>
<li>Fashion</li>
<li>Nature</li>
</ul>
<span id="titleText">asdsd</span>
<!--Thumbs List-->
<ul id="thumbsList">
<li class="thumbs" data-thumbid="1" data-title="Girl Eating Something"><img src="images/fashion/fashion1Thumb.jpg" /></li>
<li class="thumbs" data-thumbid="2" data-title="Beautiful Face"><img src="images/fashion/fashion2Thumb.jpg" /></li>
<li class="thumbs" data-thumbid="3" data-title="Cinderella"><img src="images/fashion/fashion3Thumb.jpg" /></li>
<li class="thumbs" data-thumbid="4" data-title="Apple Mobile"><img src="images/objects/object1Thumb.jpg" /></li>
<li class="thumbs" data-thumbid="5" data-title="Coke Can"><img src="images/objects/object2Thumb.jpg" /></li>
<li class="thumbs" data-thumbid="6" data-title="Mountains"><img src="images/nature/nature1thumb.jpg" /></li>
</ul>
<img class="productsSliderImage" data-fullimageid="1" src="images/fashion/fashion1Full.jpg" />
<img class="productsSliderImage" data-fullimageid="2" src="images/fashion/fashion2Full.jpg" />
<img class="productsSliderImage" data-fullimageid="3" src="images/fashion/fashion3Full.jpg" />
<img class="productsSliderImage" data-fullimageid="4" src="images/objects/object1Full.jpg" />
<img class="productsSliderImage" data-fullimageid="5" src="images/objects/object2Full.jpg" />
<img class="productsSliderImage" data-fullimageid="6" src="images/nature/nature1Full.jpg" />
<img class="productsSliderImage" data-fullimageid="7" src="images/nature/nature1Full.jpg" />
</div>
这是我的JQUERY
$(document).ready(function () {
$(".productsSliderImage").css('opacity', '0');
});
$(document).ready(function () {
$('.thumbs').click(function () {
var currentThumbId = $(this).attr("data-thumbid"); //grab thumbId of clicked thumb.
//Changing css of the fullscreenImage which is equal to clcked thumb.
//Animation is done using Opacity in css.
$('.productsSliderImage[data-fullImageId="' + currentThumbId + '"]').css('z-index', '33');
$('.productsSliderImage[data-fullImageId="' + currentThumbId + '"]').css('opacity', '1');
var notClicked = $('.productsSliderImage[data-fullImageId="' + currentThumbId + '"]').not(this);
notClicked.css('opacity', '1');
notClicked.css('z-index', '1');
});
});
还有我的CSS
.productsSliderImage {
position: absolute;
z-index: 1;
-webkit-transition: all 0.8s ease;
-moz-transition: all 0.8s ease;
-ms-transition: all 0.8s ease;
-o-transition: all 0.8s ease;
transition: all 0.8s ease;
}
尝试一下,
的CSS
.animate{
zIndex:33;
opacity:1
}
脚本
$('.thumbs').click(function () {
var thumbId = $(this).data("thumbid"); //use data function
// remove class for all products
$('.productsSliderImage').removeClass('animate');
// set current product image class to overlap
$('.productsSliderImage[data-fullImageId="'+thumbId+'"]').addClass('animate');
});
您始终可以使用要添加的属性(例如z索引和不透明度)创建类,而不用编写冗长的代码。 您可以使用addClass()和removeClass()方法来实现。 在这里阅读addClass()方法信息。
谢谢。
所以基本上你可以做这样的事情。
{等等等等}然后我jquery,您可以使用类似onclick()的方法
$('#abc').addClass('animation');
和删除班级的方式相同。 谢谢
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.