简体   繁体   English

我无法同时使用2个JavaScript

[英]I can't get 2 javascripts to work simultaneously

On a website im building on a Joomla CMS i call inside the head tag these javascripts : 在建立在Joomla CMS上的即时通讯网站上,我在head标签内调用了以下javascripts:

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

    <script type="text/javascript" src="js/jquery.history.js"></script>
    <script type="text/javascript" src="js/jquery.galleriffic.js"></script>
    <script type="text/javascript" src="js/jquery.opacityrollover.js"></script>

<script type="text/javascript">document.write('<style>.noscript { display: none; }</style>');</script>

I have two javascripts inserted on my index.php 我在index.php上插入了两个JavaScript

One for a slideshow (gallerific) and another one for a dropdown menu. 一个用于幻灯片放映(精彩),另一个用于下拉菜单。 The slideshow javascript : 幻灯片javascript:

<script type="text/javascript">
    jQuery(document).ready(function($) {
    // We only want these styles applied when javascript is enabled
    $('div.content').css('display', 'block');

    // Initially set opacity on thumbs and add
    // additional styling for hover effect on thumbs
    var onMouseOutOpacity = 0.9;
    $('#thumbs ul.thumbs li, div.navigation a.pageLink').opacityrollover({
        mouseOutOpacity:   onMouseOutOpacity,
        mouseOverOpacity:  1.0,
        fadeSpeed:         'fast',
        exemptionSelector: '.selected'
    });

    // Initialize Advanced Galleriffic Gallery
    var gallery = $('#thumbs').galleriffic({
        delay:                     2500,
        numThumbs:                 10,
        preloadAhead:              10,
        enableTopPager:            false,
        enableBottomPager:         false,
        imageContainerSel:         '#slideshow',
        controlsContainerSel:      '#controls',
        captionContainerSel:       '#caption',
        loadingContainerSel:       '#loading',
        renderSSControls:          true,
        renderNavControls:         true,
        playLinkText:              'Play Slideshow',
        pauseLinkText:             'Pause Slideshow',
        prevLinkText:              '&lsaquo; Previous Photo',
        nextLinkText:              'Next Photo &rsaquo;',
        nextPageLinkText:          'Next &rsaquo;',
        prevPageLinkText:          '&lsaquo; Prev',
        enableHistory:             true,
        autoStart:                 true,
        syncTransitions:           true,
        defaultTransitionDuration: 900,
        onSlideChange:             function(prevIndex, nextIndex) {
      // 'this' refers to the gallery, which is an extension of $('#thumbs')
      this.find('ul.thumbs').children()
        .eq(prevIndex).fadeTo('fast', onMouseOutOpacity).end()
        .eq(nextIndex).fadeTo('fast', 1.0);

      // Update the photo index display
      this.$captionContainer.find('div.photo-index')
        .html('Photo '+ (nextIndex+1) +' of '+ this.data.length);
        },
        onPageTransitionOut:       function(callback) {
      this.fadeTo('fast', 0.0, callback);
        },
        onPageTransitionIn:        function() {
      var prevPageLink = this.find('a.prev').css('visibility', 'hidden');
      var nextPageLink = this.find('a.next').css('visibility', 'hidden');

      // Show appropriate next / prev page links
      if (this.displayedPage > 0)
        prevPageLink.css('visibility', 'visible');

      var lastPage = this.getNumPages() - 1;
      if (this.displayedPage < lastPage)
        nextPageLink.css('visibility', 'visible');

      this.fadeTo('fast', 1.0);
        }
    });

    /**************** Event handlers for custom next / prev page links **********************/

    gallery.find('a.prev').click(function(e) {
        gallery.previousPage();
        e.preventDefault();
    });

    gallery.find('a.next').click(function(e) {
        gallery.nextPage();
        e.preventDefault();
    });

    /****************************************************************************************/

    /**** Functions to support integration of galleriffic with the jquery.history plugin ****/

    // PageLoad function
    // This function is called when:
    // 1. after calling $.historyInit();
    // 2. after calling $.historyLoad();
    // 3. after pushing "Go Back" button of a browser
    function pageload(hash) {
        // alert("pageload: " + hash);
        // hash doesn't contain the first # character.
        if(hash) {
      $.galleriffic.gotoImage(hash);
        } else {
      gallery.gotoIndex(0);
        }
    }

    // Initialize history plugin.
    // The callback is called at once by present location.hash. 
    $.historyInit(pageload, "advanced.html");

    // set onlick event for buttons using the jQuery 1.3 live method
    $("a[rel='history']").live('click', function(e) {
        if (e.button != 0) return true;

        var hash = this.href;
        hash = hash.replace(/^.*#/, '');

        // moves to a new page. 
        // pageload is called at once. 
        // hash don't contain "#", "?"
        $.historyLoad(hash);

        return false;
    });

    /****************************************************************************************/
    });
  </script>

And the dropdown menu: 以及下拉菜单:

    <script language="javascript" type="text/javascript">  

var axm = {


    openMenu:  function() {
      $('#newmenuheader').stop().animate({ 'height':'140px'}, "fast");
        },

    closeMenu:  function() {
      $('#newmenuheader').stop().css({'overflow': 'hidden'}).animate({'height':'55px'}, "fast");
        },

};

</script>

I can get only one script run at a time not both. 我一次只能运行一个脚本,而不能同时运行。 If one runs the other doesn't. 如果一个运行,另一个则不运行。 I need to have them both. 我都需要 At the time the javascript for the slideshow is running. 幻灯片的javascript正在运行。 Is there a conflict of some sort ? 是否存在某种冲突?

Thanks in advance. 提前致谢。

The second chunk of javascript code with the var axm needs to be added to the 带有var axm JavaScript代码需要添加到

jQuery(document).ready(function($) {}

Otherwise the browser doesn't know to run it. 否则,浏览器将无法运行它。 And you should re-write this function, don't use 而且您应该重新编写此函数,不要使用

jQuery(document).ready(function($) {}

just use 只是使用

$(function(){
    //your javascript and jQuery here for binding events, styles, and functions
}

this is a function that will run once the page is ready. 此功能将在页面准备好后运行。

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

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