0

これは html です。pages-nr は、overflow:hidden で幅が固定されています。

<div class="pages-scroll">
    <div class="pages-rightarrow"></div>
    <div class="articles-pages">
       <div class="pages-nr">
            <a href="javascript:void(0)">1</a>                          
            <a href="javascript:void(0)">2</a>
            <a href="javascript:void(0)">3</a>
            <a href="javascript:void(0)">4</a>
            <a href="javascript:void(0)">5</a>
            <a href="javascript:void(0)">6</a>
            <a href="javascript:void(0)">7</a>
            <a href="javascript:void(0)">8</a>
       </div>
     </div> 
     <div class="pages-leftarrow"></div>
</div>

これは私がこれまでに書いたスクリプトであり、最後の div または最初の div に到達すると矢印が非表示になるように、「if」に何を尋ねればよいかわかりません。

$('.pages-leftarrow').click(function () {
    if ( $('.pages-nr a').hasClass('????') ) {
        $('.pages-rightarrow').hide();
    }
    else {
        $('.pages-nr').css({"margin-left": function(index, value) {
            return parseFloat(value) - 44}
        });
    }
});
4

1 に答える 1

1

jsFiddleは次のとおりです。http://jsfiddle.net/Na3W7/4/これ は、起動時に実行されるコードの要点です。

$('.pages-nr a:not(:first),.pages-leftarrow').hide();
$('.pages-rightarrow').click(function(e){
    e.preventDefault();
    var $nextPage = $('.pages-nr a:visible:first').hide().next().show();
    if($nextPage.is('.pages-nr a:last-child')){
        $(e.target).hide();
    }
    if($('.pages-nr a:first').is(':visible')) {
        $('.pages-leftarrow').hide();
    }
    else {
        $('.pages-leftarrow').show();
    }

});
$('.pages-leftarrow').click(function(e){
    e.preventDefault();
    var $prevPage = $('.pages-nr a:visible:first').hide().prev().show();
    if($prevPage.is('.pages-nr a:first-child')){
        $(e.target).hide();
    }
    if($('.pages-nr a:last').is(':visible')) {
        $('.pages-rightarrow').hide();
    }
    else {
        $('.pages-rightarrow').show();
    }

});
于 2013-02-22T20:48:59.170 に答える