最初の子供と最後の子供には、ボタンcss prevとnextを変更する必要があります。jquery disable prev next buttonモーダル画像
私はこのコードではなく、成功を考えていた:
私の目標
$(document).ready(function() {
//begin open modal
var $thisImage;
$('.container img').click(function() {
$thisImage = $(this);
var src = $thisImage.attr('src');
$('.modal').css({
display: "block"
});
$('.modal-content').attr("src", src);
});
//begin navigate modal
function navprev() {
if ($thisImage.prev().is('img')) {
var prev = $thisImage.prev().attr('src');
var first = $thisImage.first().attr('src');
$thisImage = $thisImage.prev();
$('.modal-content').attr("src", prev);
if ($('.modal-content').attr("src", first)) {
$('.prev').css("background", "red")
}
}
}
function navnext() {
if ($thisImage.next().is('img')) {
var next = $thisImage.next().attr('src');
$thisImage = $thisImage.next();
$('.modal-content').attr("src", next);
}
}
//prev
$('.prev').click(function() {
navprev();
});
//next
$('.next').click(function() {
navnext();
});
$('.close').click(function() {
$('.modal').css({
display: "none"
});
});
});
.container img {
height: 250px;
padding: 10px;
width: 170px;
object-fit: cover;
}
.modal {
display: none;
position: fixed;
z-index: 1;
padding-top: 100px;
left: 0;
top: 0;
width: 100%;
height: 100%;
overflow: auto;
background-color: rgba(0, 0, 0, 0.5);
}
.prev, .next {
background: blue;
}
.modal-content {
margin: auto;
display: block;
min-width: 300px;
min-height: 500px;
object-fit: cover;
}
/* The Close Button */
.close {
position: absolute;
top: 50px;
right: 70px;
color: #f1f1f1;
font-size: 50px;
font-weight: bold;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="container">
<img src="http://placekitten.com/200/300" alt="" />
<img src="http://placekitten.com/200/287" alt="" />
<img src="http://placekitten.com/200/285" alt="" />
<img src="http://placekitten.com/200/286" alt="" />
<!-- The Modal -->
<div class="modal">
<button class="prev">Prev</button>
<button class="next">Next</button>
<br>
<span class="close">×</span>
<img src="" class="modal-content" alt="">
</div>
</div>
- とき、私は最初の要素まで
prev
をクリックして、それはのCSSルールを変更します無効要素を追加します。prev
と同じ - 、それは
next
ボタン
フィドルhere
あなたがスタイルとクリックイベントについての世話をする必要はありませんので、あなたは属性 'disabled'を追加することができます。コードに今
、。 –
@MoshFeu attrを無効にする方法は? –
私の答えを読むことができます。 –