View在页面更改时不会在Rails 4应用程序中加载JS

时间:2016-04-18 06:17:51

标签: javascript ruby-on-rails-4 turbolinks

请耐心等待我,因为我对Rails很陌生,对JS的经验很少。

我为我的rails应用程序购买了一个Bootstrap主题,并且我遇到了JS编写的问题。由于turbolinks,它没有加载各种脚本,但我不知道如何解决这个问题。这是主题附带的JS文件。

Theme.JS文件:

    (function ($) {
            "use strict";




            $(window).load(function () {
                // ----------------------------------------------------------------------------------------------------------------------->
                // SITE LOADER                     ||-----------
                // ----------------------------------------------------------------------------------------------------------------------->
                $('#loader').fadeOut();
                $('#preloader').delay(350).fadeOut('slow');
                $('body').delay(350).css({ 'overflow': 'visible' });


            })


            // ---------------------------------------------------------------------------------------------------------------------------->
            // GENERAL SCRIPTS FOR ALL PAGES    ||-----------
            // ---------------------------------------------------------------------------------------------------------------------------->


            $(document).ready(function () {

                openSite();

            });




            function openSite() {
                fullScreenSlider();
                header();
                scroll();
                winResize();
                pushmenu();
                pluginElement();
                sliderHero();
                sliderAll();
                containerGridMasonry();
                scrollCallbackEle();
                shortcodeElements();

            };



            // ---------------------------------------------------------------------------------------------------------------------------->
            // RESIZE FUNCTIONS   ||-----------
            // ---------------------------------------------------------------------------------------------------------------------------->

            function winResize() {

                $(window).resize(function () {

                })
            };



    })(jQuery);

我和

搞混了
$(document).on('ready page:change', function(){
  fullScreenSlider();
  header();
  scroll();
  winResize();
  pushmenu();
  pluginElement();
  sliderHero();
  sliderAll();
  containerGridMasonry();
  scrollCallbackEle();
  shortcodeElements();
});`

除了围绕所有函数围绕Jquery部分围绕OpenSite函数运行page:load之外。我在这里真的很茫然,不知道我做错了什么。我已经使用了turbolinks Gem,我认为已经修复了但是在页面重新加载后,页面上只有几个工作。

这是在单击更改视图的链接后似乎有效的功能列表。

头()

sliderAll()

skillsProgressBar()

accordion()

  

手风琴()是断断续续的,我不知道为什么它在其他任何工作时都能正常工作。它从来没有真正起作用,但是当其他一切都破裂时就开始工作了。

任何想法都会受到最高的赞赏。我可能在这里做错了很多但是,就像我说的那样,我是新人并参加了这个课程,但我们几乎在学期结束时甚至没有盖上宝石。

PS。我知道我需要在页面更改而不是document.ready上运行这些功能,但我一直试图弄清楚它已经用了差不多一个星期而无济于事。

1 个答案:

答案 0 :(得分:0)

还有一个jquery rails gem修复了一些问题。但最简单的解决方案可能只是删除turbolinks。