Как заставить crossSlide и lightbox2 работать вместе на одной странице - PullRequest
1 голос
/ 22 июля 2009

(CrossSlide)

(LightBox)

Это мой заголовок:

<script type="text/javascript" src="<?php echo ROOT.'sources/js/jquery.js'; ?>"></script>
<script type="text/javascript" src="<?php echo ROOT.'sources/js/contentSlider/jquery.cross-slide.js'; ?>"></script>
<link rel="stylesheet" href="<?php echo ROOT.'sources/css/lightbox.css'; ?>" type="text/css" media="screen" />
<script type="text/javascript" src="<?php echo ROOT.'sources/js/lightbox/prototype.js'; ?>"></script>
<script type="text/javascript" src="<?php echo ROOT.'sources/js/lightbox/scriptaculous.js?load=effects,builder'; ?>"></script>
<script type="text/javascript" src="<?php echo ROOT.'sources/js/lightbox/lightbox.js'; ?>"></script>

Это моё тело:

 <script type="text/javascript">
 $(function() {
    $('#imgHold').crossSlide({
      sleep: 3,
      fade: .5
    }, [
      { src: 'images/featured/ftcont_img1.png' },
      { src: 'images/featured/ftcont_img2.png' },
      { src: 'images/featured/ftcont_img3.png' },
      { src: 'images/featured/ftcont_img4.png' }
    ]);
 });
 </script>
 <div id="ftIMG"><div id="imgHold">Loading...</div></div>

У меня нет ничего использующего скрипт лайтбокса на этой странице. Но я хочу сохранить скрипт в заголовке, поэтому в PHP мне нужно вызвать только 1 заголовок. LightBox "руководство" сказал добавить "initLightbox (); к атрибуту onload на теге body, поэтому я сделал это, и ничего не изменилось. Теперь я также читал где-то еще о (jQuery.no-конфликта), мне интересно будет способ продолжить. Или, если есть другой способ решить эту проблему.

Кроме того, если я хочу использовать (ThickBox3.1) на той же странице со всем остальным. Будет ли это возможно и как именно это сделать?

Кроме того, извините, ребята, за то, что не публикуете их как ссылки, очевидно, новым пользователям не разрешается размещать более 1 ссылки.

1 Ответ

0 голосов
/ 22 июля 2009

Попробуйте изменить фрагмент кода следующим образом:

jQuery(function() {
    jQuery('#imgHold').crossSlide({
      sleep: 3,
      fade: .5
    }, [
      { src: 'images/featured/ftcont_img1.png' },
      { src: 'images/featured/ftcont_img2.png' },
      { src: 'images/featured/ftcont_img3.png' },
      { src: 'images/featured/ftcont_img4.png' }
    ]);
 });

Это может работать, пока на странице нет других конфликтов.

См. эту статью на docs.jquery.com, чтобы узнать, как использовать jQuery с другими библиотеками, такими как prototype и scriptaculous, обе из которых вы используете в своем примере.

...