简体   繁体   English

更改滚动上的选取框方向而不更改其当前 position

[英]Change marquee direction on scroll without changing its current position

I am using the marquee.js jQuery plugin to render a list in a text scroller, but what I'm trying to do is change the direction of the scrolling text when clicking the buttons without changing the current position of the text.我正在使用marquee.js jQuery 插件在文本滚动器中呈现列表,但我想要做的是在单击按钮时更改滚动文本的方向而不更改文本的当前 position。

Here is what I have tried:这是我尝试过的:

 var direction = 'left'; $('.right-scroll').on('click', function() { direction = 'right' }) $('.left-scroll').on('click', function() { direction = 'left' }) $(function() { $('.scrollermarquee').marquee({ duration: 15000, direction: direction }); });
 .scrollermarquee { overflow: hidden; border: 1px solid #ccc; background: black; color: rgb(202, 255, 195); }
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdn.jsdelivr.net/jquery.marquee/1.3.1/jquery.marquee.min.js"></script> <button class="left-scroll">Left scroll</button> <button class="right-scroll">Right scroll</button> <div class="scrollermarquee"> <ul> <li> <div class="views-field views-field-title"> <span class="field-content"> <a href="/node/805" hreflang="en">test1</a> </span> </div> </li> <li> <div class="views-field views-field-title"> <span class="field-content"> <a href="/node/801" hreflang="en">test2</a> </span> </div> </li> <li> <div class="views-field views-field-title"> <span class="field-content"> <a href="/node/470" hreflang="en">test3</a> </span> </div> </li> </ul> </div>

You are setting the direction variable in the click event handlers but not calling any code to update the configuration of $('.scrollermarquee') .您正在click事件处理程序中设置direction变量,但没有调用任何代码来更新$('.scrollermarquee')的配置。

<script>

    // set marquee to scroll in supplied direction
    var setMarquee = function(direction) {
       $('.scrollermarquee').marquee({
            duration: 15000,
            direction: direction
        });
    };

    $('.right-scroll').on('click',function(){
        setMarquee('right'); // change marquee direction to right
    })

    $('.left-scroll').on('click',function(){
        setMarquee('left'); // change marquee direction to left
    })

    $(function () {
        setMarquee('left'); // start marquee when page loads
    });

</script>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM