单击页面上的任意位置时,jQuery会向后滑动

弗罗斯特本
$(".links").click(function(){ 
    $('.slider').stop(true,false).animate({ right:  "0" }, 800, 'easeOutQuint'); 
}, function() { 
    $(".slider").stop(true,false).animate({ right: "-200" }, 800, 'easeInQuint'); 
}, 1000);

我正在网站上建立一个小滑块。滑块位置是right: -200单击页面上的其他任何right: 0位置right: -200后,它会滑动到我要为其设置动画的位置

我尝试了所有失败的方法。toggle(slide)效果不错,但看起来不好。

http://jsfiddle.net/aofg5v78/

rsp

通过JavaScript美化器放置代码(最好对发布的代码进行处理以使其更易于理解)可以实现以下目的:

$(function () {
  $(".links")
    .click(function () {
        $('.slider')
          .stop(true, false)
          .animate({
            right: "0"
          }, 800, 'easeOutQuint');
      },
      function () {
        $(".slider")
          .stop(true, false)
          .animate({
            right: "-200"
          }, 800, 'easeInQuint');
      }, 1000);
});

您正在尝试将两个处理程序传递给.click(),并且看起来像是超时或持续时间(1000)。尝试这样的事情:

$(function () {
  var toggle;
  $(".links")
    .click(function () {
        toggle = !toggle;
        if (toggle) {
          $('.slider')
            .stop(true, false)
            .animate({
              right: "0"
            }, 800, 'easeOutQuint');
        }
        else {
          $(".slider")
            .stop(true, false)
            .animate({
              right: "-200"
            }, 800, 'easeInQuint');
        }
    });  

});

更新:要使其滑动,当您单击页面上的任意位置时,它会稍微复杂一些:

$(function () {
  var toggle;
  $(document).click(function () {
    if (toggle) {
          toggle = !toggle;
          $(".slider")
            .stop(true, false)
            .animate({
              right: "-200"
            }, 800, 'easeInQuint');
    }
  });
  $(".links")
    .click(function (e) {
        e.stopPropagation();
        toggle = !toggle;
        if (toggle) {
          $('.slider')
            .stop(true, false)
            .animate({
              right: "0"
            }, 800, 'easeOutQuint');
        }
        else {
          $(".slider")
            .stop(true, false)
            .animate({
              right: "-200"
            }, 800, 'easeInQuint');
        }
    });  
  $(".slider")
    .click(function (e) {
      e.stopPropagation();
    });    
});

这部分:

  $(".slider")
    .click(function (e) {
      e.stopPropagation();
    });

在那里没有当您单击隐藏滑杆的滑块(而不是其他的页面,滑块的外某处),但如果这不是你想要的,那么你可以将其删除。

(可以对代码进行重构,以消除重复并避免多次运行选择器,但它可以达到本示例的目的。此外,由于页面上的所有滑块将同时滑动,因此您现在不能在一个页面上使用多个滑块时间,但我想没关系。)

参见DEMO

对于使用旧版jQuery的toggle方法,它会更简单,但不幸的是,它在1.8版中已弃用,而在1.9版中已删除。

(顺便说一下,您使用的缓动功能默认情况下在普通jQuery中不可用。如果您使用的是jQuery UI,那么它们将可用,但如果不是,则必须先添加它们,然后才能使用它们。请注意避免无用的“未定义的不是函数”异常。)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

用户单击页面上的任意位置时弹出的窗口[jQuery&HTML]

来自分类Dev

单击页面上的任意位置时禁用覆盖

来自分类Dev

用户单击页面上的任意位置时,删除班级

来自分类Dev

当单击页面上的任意位置时,下拉菜单隐藏

来自分类Dev

使用Puppeteer单击页面上的任意位置

来自分类Dev

单击页面上的任意位置时切换div内容

来自分类Dev

单击页面上的任意位置时,单选按钮取消选择自身

来自分类Dev

再次单击jQuery(在页面上的任意位置)再次切换到Class

来自分类Dev

单击页面上的任意位置,弹出窗口应消失

来自分类Dev

单击页面中的任意位置时隐藏侧边栏

来自分类Dev

单击页面中的任意位置时隐藏输入文本

来自分类Dev

在<div>中的任意位置单击时页面重定向

来自分类Dev

jQuery:当单击任意位置时如何单击链接?

来自分类Dev

如何通过单击页面上的任意位置来关闭下拉菜单?

来自分类Dev

在页面加载时单击页面上的元素

来自分类Dev

向后滑动太快时,UIButton的标题会神秘地消失

来自分类Dev

将类添加到动态元素上的正文中,再次单击页面上的任意位置后将其删除

来自分类Dev

在Android滑动视图页面上放置事件的位置?

来自分类Dev

单击页面上任何位置时如何隐藏下拉菜单

来自分类Dev

仅使用JS单击页面中的任意位置时需要打印Dom路径

来自分类Dev

显示时自动单击页面上的按钮。

来自分类Dev

尝试使用-顶部定位和jQuery在单击时动画使div从页面顶部向下和向上滑动

来自分类Dev

将div放置在页面上的任意位置,但仍将文本环绕

来自分类Dev

灯箱打开时如何保持网页在页面上滑动?

来自分类Dev

使用jQuery将元素滑动到页面上

来自分类Dev

jQuery水平滚动(单击时滑动div)

来自分类Dev

jQuery单击时向下滑动

来自分类Dev

选择不同类别时,jQuery会更改页面上多个元素的活动状态

来自分类Dev

页面上的自动滚动仅在 ctrl+单击使用 jquery 的按钮时才有效

Related 相关文章

  1. 1

    用户单击页面上的任意位置时弹出的窗口[jQuery&HTML]

  2. 2

    单击页面上的任意位置时禁用覆盖

  3. 3

    用户单击页面上的任意位置时,删除班级

  4. 4

    当单击页面上的任意位置时,下拉菜单隐藏

  5. 5

    使用Puppeteer单击页面上的任意位置

  6. 6

    单击页面上的任意位置时切换div内容

  7. 7

    单击页面上的任意位置时,单选按钮取消选择自身

  8. 8

    再次单击jQuery(在页面上的任意位置)再次切换到Class

  9. 9

    单击页面上的任意位置,弹出窗口应消失

  10. 10

    单击页面中的任意位置时隐藏侧边栏

  11. 11

    单击页面中的任意位置时隐藏输入文本

  12. 12

    在<div>中的任意位置单击时页面重定向

  13. 13

    jQuery:当单击任意位置时如何单击链接?

  14. 14

    如何通过单击页面上的任意位置来关闭下拉菜单?

  15. 15

    在页面加载时单击页面上的元素

  16. 16

    向后滑动太快时,UIButton的标题会神秘地消失

  17. 17

    将类添加到动态元素上的正文中,再次单击页面上的任意位置后将其删除

  18. 18

    在Android滑动视图页面上放置事件的位置?

  19. 19

    单击页面上任何位置时如何隐藏下拉菜单

  20. 20

    仅使用JS单击页面中的任意位置时需要打印Dom路径

  21. 21

    显示时自动单击页面上的按钮。

  22. 22

    尝试使用-顶部定位和jQuery在单击时动画使div从页面顶部向下和向上滑动

  23. 23

    将div放置在页面上的任意位置,但仍将文本环绕

  24. 24

    灯箱打开时如何保持网页在页面上滑动?

  25. 25

    使用jQuery将元素滑动到页面上

  26. 26

    jQuery水平滚动(单击时滑动div)

  27. 27

    jQuery单击时向下滑动

  28. 28

    选择不同类别时,jQuery会更改页面上多个元素的活动状态

  29. 29

    页面上的自动滚动仅在 ctrl+单击使用 jquery 的按钮时才有效

热门标签

归档