2013-12-05 2 views
1

Привет У меня есть снег GIF анимации с 2 разных гифы здесь:Jquery GIF снег с 2 анимированные гифы

http://archibaldbutler.com/projects/stack/

Один снег, но не с другой стороны, я хочу им как на «снег» вниз по странице вместо одного, в настоящее время.

Учебник, за которым я следил, был только для того, чтобы иметь один анимированный gif. Таким образом, я дублировал сценарий снегопады и назвал его snowfall2.jquery.js

<script src='snowfall.jquery.js'></script> 
<script src='snowfall2.jquery.js'></script> 

Я сделал поиск и замену внутри snowfall2 для замены «снегопады» с «snowfall2».

В заголовке моего index.html, я добавил вызов snowfall2.jquery.js который вызывает рисунок:

<script type='text/javascript'>  
    $(document).ready(function(){ 
     $('.collectonme').hide(); 
     //Start the snow default options you can also make it snow in certain elements, etc. 
     $(document).snowfall({image :"images/santa-sneaking-smiley-emoticon2.gif", minSize: 40, maxSize:100}); 
    $(document).snowfall2({image :"images/santa-sneaking-smiley-emoticon22.gif", minSize: 40, maxSize:100}); 



    }); 
    </script> 

Мой вопрос: Один из GIF: подлый Сант «снег «вниз, но прыгающий Санта не« идет снег ». Зачем?

+0

один '$ (документ) .ready()' достаточно! слияние скриптов внутри только одного документа готово – BeNdErR

+0

Я сделал это сейчас, но мой прыгающий Санта все еще не идет снег! –

ответ

2

Арчи, ответ от Smeegs расскажет вам, почему это не снег обоих изображений. Я перепутал с плагином и настроил его (быстро взломать), чтобы принять массив изображений. Будут использоваться только первые два изображения, но это должно работать в вашем случае.

Во-первых, заменить строки 136, 137 и 138 в оригинальном сценарии с строчках ниже:

if (options.images) { 
    flakeMarkup = $(document.createElement("img")); 
    flakeMarkup[0].src = this.id % 2 == 0 ? options.images[0] : options.images[1]; 

Затем удалите второй блок сценария и второй вызов сценария на странице и обновить документ. готов(), чтобы создать массив, чтобы пройти и заполнить его с двумя изображениями (используя ваши имена изображений конечно):

var flakeImages = []; 
flakeImages[0] = "snowflake.png"; 
flakeImages[1] = "gemstone.png"; 

Наконец, измените вызов снегопада на это:

$(document).snowfall({ images: flakeImages , minSize: 40, maxSize: 100 }); 

Сообщите мне, как это.

+0

Майк, ты спартанский воин Javascript, я действительно хочу улучшить свои навыки, но мне это очень сложно! Большое вам спасибо за ваше время, мой клиент - один из лучших модельеров в мире, и вы спасли мне день! Я попытаюсь выяснить, что вы сделали, и я обновил демо. Еще раз спасибо! –

+0

Спасибо за похвалу, хотя я уверен, что мои коллеги рады, что я не одеваюсь, как спартанцы, независимо от навыков кодирования. :) Рад, что все получилось! –

+0

приятно! Я просто разговаривал с Арчи через твиттер, добавляя это как реальный вариант для плагина. – Loktar

1

Я предполагаю, что snowfall.jquery.js и snowfall2.jquery.js являются копиями того же файла.

Если это так, вы по-прежнему просто загружаете один и тот же файл дважды. Не имеет значения, имеют ли они разные имена.

Названия функций/переменных одинаковы в обоих файлах, поэтому только одна из функций будет выполняться, а не обе. Вот почему только одно изображение - «снег». Что касается фиксации, это происходит. Я не могу помочь вам, так как я не знаю содержимое плагина jquery.

Если файл достаточно мал, вы можете пройти его и переименовать всю глобальную переменную и функции, чтобы было два экземпляра каждого из них.

+0

Привет, скрипт 280 строк. Я не знаю, какие переменные и функции переименовать. Я попытался, но я не могу заставить его работать. http://archibaldbutler.com/projects/stack/snowfall2.jquery.js –

+0

Похоже, что кто-то другой взял на себя инициативу. Проверьте другой ответ – Smeegs

+0

Спасибо за ваше время Smeegs, проблема решена Майком Девенни. –

Смежные вопросы