黑客/覆盖Javascript

时间:2015-12-14 16:32:05

标签: javascript

我只熟悉我每天使用的HTML和CSS。 !Important我为了为使用第三方CRM系统的客户自定义网站,我必须做一些CSS覆盖TONS,但现在我被要求查看是否可以覆盖什么是Javascript图像滑块做;即如果我可以强制它让图像旋转而不是显示单个图像,当页面刷新时,该图像只会随机更改为其他图像。我不熟悉Javascript知道如何做到这一点;我已经多次使用过相同类型的图片滑块了,所以我知道需要更改哪些设置,但我不知道如何强制覆盖,就像我使用CSS一样,或者如果它&# 39;甚至可以在同一页面上对付另一个人。

这是网页上已有的javascript代码段。

<script type="text/javascript">
  $(document).ready(function () {
    var randSlick = Math.floor( Math.random() * $('#carousel > div').length );
    $('#carousel').slick({
      infinite: true,
      autoplay: false,
      autoplaySpeed: 10000,
      slidesToShow: 1,
      slidesToScroll: 1,
      arrows: false,
      fade: true
    }).slickGoTo(randSlick);
  });
</script>

我需要更改&#34;自动播放&#34;为真,所以它会自动播放而不是什么都不做,我想改变&#34; autoplaySpeed&#34;更合理的东西,比如3000.

我无法访问这部分代码(因此,为什么我总是要做CSS!重要的覆盖;我不能直接编辑现有的代码,我必须以一种偷偷摸摸的hackery方式添加我自己的东西)所以我希望有一个简单的方法来做到这一点。我很抱歉,如果这是漫长的啰嗦或以任何方式混淆;我已经足够轻松地自学了HTML和CSS,但Javascript被证明是另一种动物,而且我现在只是喋喋不休。

2 个答案:

答案 0 :(得分:4)

为了明白这一点:

  1. 您将无法使用HTML / CSS修改JavaScript代码,只能通过JavaScript修改。
  2. 您在脚本中看到的是JQuery,一个JavaScript扩展库: see: JQuery API
  3. 我建议你制作自己的脚本,通过$("#carousel")函数重置unslick的值,这里有明确记录: see: SlickJS

    $("#carousel").slick('unslick');
    

    在此之后,您可以将$("#carousel")与您自己的参数绑定在一起,如下所示:

    <script type="text/javascript">
      $(document).ready(function () {
        var randSlick = Math.floor( Math.random() * $('#carousel > div').length );
        $('#carousel').slick({
          infinite: true,
          autoplay: true,
          autoplaySpeed: 3000,
          slidesToShow: 1,
          slidesToScroll: 1,
          arrows: false,
          fade: true
        }).slickGoTo(randSlick);
      });
    </script>
    

    100%确保在后,您的JavaScript文件被称为

    有任何问题吗?请在下面的评论中提问: - )

答案 1 :(得分:3)

在您的页面中,您可以解构现有的slick对象,并使用您自己的设置重新创建它。

<script type="text/javascript">
  $(document).ready(function () {
     $('#carousel').slick('unslick'); // Destroy existing slick object
    // Start a new one with the options you want
    $('#carousel').slick({
      autoplay: true,
      autoplaySpeed: 3000
    });
  });
</script>