jquery - 如何为滑块创建点击功能?
问题描述
我有一个网站,其主要功能是艺术品滑块。我在为每个滑块“页面”创建点击功能时遇到问题。我在右侧有一个与名称相对应的名称列表,如果在单击一个特定页面时出现特定页面,并且不会像现在这样破坏滑块的功能,我会很高兴。
这是链接:https ://lizetteayala1211.github.io/ftp-touch/touchindex.html
这是我正在使用的滑块代码:https ://codepen.io/Asadabbas/pen/XxOvdY
$(document).ready(function(){
function _slider(id){
var slidewidth = $('.slider ul li').width();
var slideheight = $('.slider ul li').outerHeight();
$('.slider').css({'height':slideheight,'width':slidewidth});
$('.slider ul li:not(.active)').css({'left':slidewidth});
if($('.slider ul li:nth-child(1)').hasClass('active')){
$('.slider ul li:last-child').css({left: - slidewidth}, -200).prependTo('.slider ul');
}
function moveright(){
var slideheight = $('.slider ul li.active').next().height();
var slidewidth = $('.slider ul li.active').next().width();
$('.slider').animate({height:slideheight,width:slidewidth},200);
if ($('.slider ul li:nth-last-child(2)').hasClass('active')) {
$('.slider ul li:first-child').css({left: slidewidth}, -200).appendTo('.slider ul');
$('.slider ul li.active').css({left: -slidewidth}, -200).removeClass('active').next().addClass('active').css({left: 0}, -200);
} else {
$('.slider ul li.active').css({left: -slidewidth}, -200).removeClass('active').next().addClass('active').css({left: 0}, -200);
}
}
function moveleft(){
var slideheight = $('.slider ul li.active').prev().height();
var slidewidth = $('.slider ul li.active').prev().width();
$('.slider').animate({height:slideheight,width:slidewidth},200);
if ($('.slider ul li:nth-child(2)').hasClass('active')) {
$('.slider ul li:last-child').css({left: - slidewidth}, -200).prependTo('.slider ul');
$('.slider ul li.active').removeClass('active').css({left: slidewidth}, -200).prev().addClass('active').css({left: 0}, -200);
} else {
$('.slider ul li.active').removeClass('active').css({left: slidewidth}, -200).prev().addClass('active').css({left: 0}, -200);
}
}
$('.control_next').on('click', function(){
moveright();
});
$('.control_prev').on('click', function(){
moveleft();
});
}
_slider('slider_');
});
body {display: flex;justify-content: center;align-items: center;height: 100vh;}
.slider{position:relative;overflow:hidden;margin:0;border-radius:4px;overflow:hidden;}
.slider ul{position:relative;margin:0;padding:0;height:100%;list-style:none;width:100%;overflow:hidden;left:0;}
.slider ul li{position:absolute;display:block;float:left;margin:0;padding:0;width:500px;height:300px;background:#F7B733;text-align:center;transition: ease-out 0.4s;color: #fff;font-size: 22px;font-family: monospace;display: flex;}
.slider ul li span{margin:auto}
.slider ul li.active{left: 0;}
.slider ul li.slider2{background: #4ABDAC}
.slider ul li.slider3{background: #B82601}
.slider ul li.slider4{background: #8FC33A;height:350px;}
.slider ul li.slider5{background: #F7882F;}
.slider ul li.slider6{background: #43C0F6}
.slider ul li.slider7{background: #F81B84;}
/*controls*/
.controls{-webkit-transition:all 0.5s ease;opacity: 0;}
.control_prev,
.control_next{position:absolute;top:40%;z-index:999;display:block;padding:20px;width:auto;height:auto;background:rgba(51, 51, 51, 0.33);color:#fff;text-decoration:none;font-weight:600;font-size:18px;opacity:0;cursor:pointer;}
.slider:hover .controls{-webkit-transition:all 0.5s ease;opacity: 1;}
.slider:hover .controls .control_prev,
.slider:hover .controls .control_next{opacity:0.8}
.control_prev{left:0;border-radius: 0 10px 10px 0;}
.control_next{right:0;border-radius:10px 0 0 10px;}
.slider:hover .controls .control_prev:hover,
.slider:hover .controls .control_next:hover{opacity:1;-webkit-transition:all 0.2s ease;}
<div class="slider" id="asad">
<ul>
<li class="active"><span>Slide 1</span></li>
<li class="slider2"><span>Slide 2</span></li>
<li class="slider3"><span>Slide 3</span></li>
<li class="slider4"><span>Slide 4</span></li>
<li class="slider5"><span>Slide 5</span></li>
<li class="slider6"><span>Slide 6</span></li>
<li class="slider7"><span>Slide 7</span></li>
</ul>
<div class="controls">
<div class="control control_prev">←</div>
<div class="control control_next">→</div>
</div>
</div>
任何帮助将不胜感激!
解决方案
推荐阅读
- html - 如何扩展 React 组件以使用 flexbox 填充页面
- java - 如何在运行时通过网络执行 java 程序/文件发送
- search - 搜索 Solr 上的所有字段
- c - 如何修复双向链表代码的“无效读取大小 8”valgrind 错误?
- haskell - How to plug this type hole 2
- c# - IIS 工作进程显示其中一个应用程序池的队列
- python - python ctypes malloc 返回一个 Int 而不是 void*
- javascript - How can i use DOM events inside my javascript classes?
- git - git注释标签可以修改吗?如果是这样,怎么做?
- conditional-statements - Aws - Cloudformation - Fn::Equals Error , 条件只能是对参数和其他条件的布尔运算