Плавный выезд (JQuery) блока в IE
Добрый день.
Сделал плавный выезд блока "Возможные варианты поверхности" вот здесь http://www.zamokk.ru/goods/element.p...SECTION_ID=808. Так вот в FF и Opera всё прекрасно выезжает, а в IE нивкакую. Использую функцию $('div.smooth').show('blind', {direction:'vertical'}, 'slow'); |
честно говоря не самое лучшее "украшательство":-E
по сути же:нафига вы переопределяете функцию $ ? |
Цитата:
Функция переопределяется для вертикального выпадения, т.к. по-умолчанию выезд из левого верхнего угла. |
function $(id) { if ( document.getElementById(id) != null ) { return document.getElementById(id); } } Это ваше? этот функционал есть и в jQuery, так что зачем такая функция нужна, мне непонятно.тем более что $() у вас везде используется как функция jQuery короче говоря мне непонятно на каких магических чилах этот скрипт работает в первых двух браузерах, и пытается работать в осле. попробуйте покапатся в кодах jQuery, и выясните что такого некросбраузерного они ипсользуют в вашем случае |
Цитата:
Следующий момент: Цитата:
Цитата:
|
Цитата:
Цитата:
в jquery есть какая-то приблуда, позволяющая ей отказатся от $(). и вызыватся только с помощью jQuery() Цитата:
а вообще совет в моем случае остается тот же: смотреть исходные коды, и разбиратся. когда работаете с чужими фреймворками иногда приходится таким заниматся. еще можно попытатся обновить jquery и все его модули вами задействованные до последних версий(если это сейчас не так) в надежде, что они поправили глюк |
В JQuery я использовал такой способ:
<script> $(document).ready(function(){ $("#block1").mouseover(function(){ $("#block1").animate( { width:"390px" }, { queue:false, duration:1000 } ) }); $("#block1").mouseout(function(){ $("#block1").animate( { width:"40px" }, { queue:false, duration:1000 } ) }); }); </script> |
где у тебя обработчик назначается?
|
Цитата:
|
Ozzy, к тебе, в общем-то. Я так понял, что проблема еще не решена?
|
При нажатии на radio срабатывает функция loadElement в которой вызывается вот такой код:
$('div.smooth').hide("blind", {direction:'vertical'}, 'slow'); Это выглядит так: <input id="276_1" name="PROP_276" value="122" onclick="loadElement({'PARAMS':'','ATTENDTS':['3080']}, {'276':{'_0_':'0','_1_':'1'}}, ['4722','4723','4722']);" type="radio"> function loadElement(arParams, arConfPropId, arPRODUCT_ID) { ... $('div.smooth').hide("blind", {direction:'vertical'}, 'slow'); ... } |
1. Что ты хочешь сообщить функции hide такими вот ("blind", {direction:'vertical'}, 'slow') параметрами? http://docs.jquery.com/Effects/hide#speedcallback
2. у тебя в IE ошибка возникает - включи отладку и посмотри в отладчике (странно, что в ff все ok с этим) |
Цитата:
http://docs.jquery.com/UI/Effects/Blind |
так происходит из-за бага/фичи IE:
$('#el')[0].style.overflow = 'hidden'; $('#el')[0].style.height = '0.1px'; в результате opera и ff (в отличие от ie) скрывают элемент, а ie подстраивает высоту под высоту содержимого |
но на самом деле этот баг ie проявляется только в quirks mode ;-)
|
Часовой пояс GMT +3, время: 02:24. |