Jquery keydown事件导航图片滑块
Jquery keydown event navigate picture slider
您好,我想将键盘导航添加到我的 css 滑块。滑块代码如下。
html
<div class="imgdisplay">
<ul>
<li>
<input type="radio" id="img1" name="slide" checked>
<label for="img1"></label>
<img src="work/legibile/render1.jpg">
</li>
<li>
<input type="radio" id="img2" name="slide">
<label for="img2"></label>
<img src="work/legibile/render2.jpg">
</li>
<li>
<input type="radio" id="img3" name="slide">
<label for="img3"></label>
<img src="work/legibile/render3.jpg">
</li>
</div>
css
.img显示输入{
显示:none
}
.imgdisplay label{
position: absolute;
background-color: #BDBDBD;
width:0.25em;
height: 0.25em;
border-radius: 100%;
border: #BDBDBD 2.5px solid;
top:-1.5em;
cursor: pointer;
margin: auto;
z-index: 10
}
.imgdisplay li:nth-child(1) label {
left: 0em;
}
.imgdisplay li:nth-child(2) label {
left: 1.5em;
}
.imgdisplay li:nth-child(3) label {
left: 3em;
}
.imgdisplay img {
opacity: 0;
visibility: hidden;
}
.imgdisplay li input:checked ~ img {
opacity: 1;
visibility: visible;
z-index: 10;
}
我想通过左右箭头键导航滑块。基本思想是代码首先检测检查的 ID "img #"。当用户按下右箭头键时,ID "img #+1" 将被检查。当用户按下左箭头键时,ID "img #-1" 将被选中。
我的问题是:
1.如何让代码检测到第一个的ID。
2. 我尝试了以下 jquery 代码只是为了熟悉 keydown 事件,但是页面内容消失了,我不知道为什么。
$(document).keydown(function(e) {
if(e.keyCode == 37) { // left
$("#img1").attr({"checked" });
}
else if(e.keyCode == 39) { // right
$("").attr({});
}
});
以这种方式更改无线电输入的 id
img_1, img_2, img_3
并在文档就绪时执行以下代码。
$(document).keydown(function(e) {
var checkedElmIdx = parseInt($("[type='radio']:checked").attr("id").split("_")[1]);
if(e.keyCode == 37) { // left
$("#img_"+(checkedElmIdx-1)).prop("checked", true);
} else if(e.keyCode == 39) { // right
$("#img_"+(checkedElmIdx+1)).prop("checked", true);
}
});
您好,我想将键盘导航添加到我的 css 滑块。滑块代码如下。
html
<div class="imgdisplay">
<ul>
<li>
<input type="radio" id="img1" name="slide" checked>
<label for="img1"></label>
<img src="work/legibile/render1.jpg">
</li>
<li>
<input type="radio" id="img2" name="slide">
<label for="img2"></label>
<img src="work/legibile/render2.jpg">
</li>
<li>
<input type="radio" id="img3" name="slide">
<label for="img3"></label>
<img src="work/legibile/render3.jpg">
</li>
</div>
css .img显示输入{ 显示:none }
.imgdisplay label{
position: absolute;
background-color: #BDBDBD;
width:0.25em;
height: 0.25em;
border-radius: 100%;
border: #BDBDBD 2.5px solid;
top:-1.5em;
cursor: pointer;
margin: auto;
z-index: 10
}
.imgdisplay li:nth-child(1) label {
left: 0em;
}
.imgdisplay li:nth-child(2) label {
left: 1.5em;
}
.imgdisplay li:nth-child(3) label {
left: 3em;
}
.imgdisplay img {
opacity: 0;
visibility: hidden;
}
.imgdisplay li input:checked ~ img {
opacity: 1;
visibility: visible;
z-index: 10;
}
我想通过左右箭头键导航滑块。基本思想是代码首先检测检查的 ID "img #"。当用户按下右箭头键时,ID "img #+1" 将被检查。当用户按下左箭头键时,ID "img #-1" 将被选中。
我的问题是: 1.如何让代码检测到第一个的ID。 2. 我尝试了以下 jquery 代码只是为了熟悉 keydown 事件,但是页面内容消失了,我不知道为什么。
$(document).keydown(function(e) {
if(e.keyCode == 37) { // left
$("#img1").attr({"checked" });
}
else if(e.keyCode == 39) { // right
$("").attr({});
}
});
以这种方式更改无线电输入的 id
img_1, img_2, img_3并在文档就绪时执行以下代码。
$(document).keydown(function(e) {
var checkedElmIdx = parseInt($("[type='radio']:checked").attr("id").split("_")[1]);
if(e.keyCode == 37) { // left
$("#img_"+(checkedElmIdx-1)).prop("checked", true);
} else if(e.keyCode == 39) { // right
$("#img_"+(checkedElmIdx+1)).prop("checked", true);
}
});