Показать сообщение отдельно
  #1 (permalink)  
Старый 11.01.2012, 13:43
Интересующийся
Отправить личное сообщение для Marv Посмотреть профиль Найти все сообщения от Marv
 
Регистрация: 09.08.2010
Сообщений: 19

Выпадающее меню в опере
Написал простой скрипт на jquery для листания картинок с эффектом fade. Скрипт работает как полагается, во всех браузерах все нормально. Но вот в опере при двойном щелчке на кнопке назад .fadeSlide-prev, и только на ней (или при событии, которое она посчитает двойным щелчком) выделяется весь div с картинками и появляется контекстное меню. Как от этого избавиться?

верстка
<div class="fadeSlider-container" style="position: relative;">
  <ul class="fadeSlider-list" style="position: relative;">
  <!-- тут лежат картинки -->
    <li style="position:absolute; top:0; left:0; z-index:2"><img src="img.png" /></li>
    <li style="position:absolute; top:0; left:0; z-index:1"><img src="img1.png" /></li>
  </ul>
  <!-- две кнопки, кнопки лежат непосредственно поверх картинок-->
  <div style="position:absolute; left:0; top:50%; z-index:10;" class="fadeSlider-nav fadeSlide-prev"/>
  <div style="position:absolute; right:0; top:50%; z-index:10;"  class="fadeSlider-nav fadeSlide-next"/>
</div>

скрипт
function(direction){
  $data = this.data('fadeSlider');
  if($data.init == 1){
    $Els = this.children("li.fadeSlider-element");
    $($Els[$data.currentEl]).stop(true, true).fadeOut();
    if(direction == "prev"){
	  if($data.currentEl == 0) $data.currentEl = $Els.length - 1;
	  else $data.currentEl--;
	}else if(direction == "next"){
	  if($data.currentEl == $Els.length - 1) $data.currentEl = 0;
	  else $data.currentEl++;
	}
	$($Els[$data.currentEl]).stop(true, true).fadeIn();
  }
}
Ответить с цитированием