Страница jQuery fadeIn () работает только на странице индекса - PullRequest
1 голос
/ 23 августа 2011

Спасибо всем, за быструю помощь!Скрипт теперь работает.Я обновил сайт и код ниже.Может быть, кто-то может найти этот код полезным.:)


Я получил страницу (http://www.katmcgo.com) для плавного перехода по желанию с помощью jQuery. Однако, она только появляется на странице индекса - все последующие страницы загружаются как обычно.

У меня есть следующий скрипт в заголовке каждой страницы (включая подстраницы, которые не исчезают), он включается в каждую страницу с использованием PHP:

$(document).ready(function() { 
        function fadePage() {
            // Target the tags you want to effect with the fade
            var fadingTag = "section";
            var fadingTag2 = "hr";

            var delay = 0;  // Initialize delay - Should start at 0
            var delayStagger = 600;  // Delay stagger - Time between elements fading in

            var fadingNum = document.getElementsByTagName(fadingTag).length;  // Find out how many elements you need to hide

            // Get and fix the overall document height before it disappears (which will happen when elements are hidden) 
            var pageHeight = $(document).height() + "px";
            $("#wrapper").css("height", pageHeight);

            // Hide all targeted tags
            $(fadingTag).css("display", "none");
            $(fadingTag2).css("display", "none");

            // Fade each targeted tag in, one by one
            for (var i = 0; i < fadingNum; i++){

                $($(fadingTag).get(i)).delay(delay).fadeIn(delayStagger);
                $($(fadingTag2).get(i)).delay(delay).fadeIn(delayStagger);

                delay += 350;
            }
        }

        fadePage();
    });

Iя ломал голову над тем, почему это происходит, и делал поиски, чтобы найти ответ, но ничего не придумал ...

Эта страница находится на ранних стадиях, так что я просто делаюdev в Firefox и Safari ... fade работает в обоих случаях, но только на первой странице. Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

1 голос
/ 23 августа 2011

установить firebug в firefox. вы получаете неопределенный элемент [0] на всех страницах, кроме index.php.

Edit:

оберните ваш вызов s3Slider внутри оператора if, проверяя, существует ли элемент.

if( $('#slider').length ) {
  $('#slider').s3Slider({
    timeOut: 3500
  });
}

Кроме того, вы не можете вывести этот код с сервера, если вы не на странице индекса.

0 голосов
/ 23 августа 2011

У вас есть ошибка от s3Slider.js на всех ваших последующих страницах. Возможно, потому что элемент слайдера не существует на этих страницах, но плагин все еще вызывается.

Сценарий затухания, вероятно, работает нормально.

...