#javascript #jquery #internet-explorer #internet-explorer-7
#javascript #jquery #internet-explorer #internet-explorer-7
Вопрос:
Я нахожусь в процессе завершения сайта и просто работаю над тем, чтобы сделать его совместимым с ie7, однако есть один базовый скрипт, который перемещает 3 вкладки вверх / вниз, и он не работает, что бы это ни было. код приведен ниже.
$(document).ready(function() {
$('.lower').click(function() {
$('#range-dropdown').animate({
top: '315',
}, 2000, function() {});
$('#range-dropdown2').animate({
top: '0',
}, 2000, function() {});
$('#range-dropdown3').animate({
top: '0',
}, 2000, function() {});
$('.rangelist-container').animate({
top: '715',
}, 2000, function() {});
$('#dropdown-holder').animate({
marginBottom: '120px',
}, 2000, function() {});
});
$('.lower1').click(function() {
$('#range-dropdown2').animate({
top: '315',
}, 2000, function() {});
$('#range-dropdown').animate({
top: '0',
}, 2000, function() {});
$('#range-dropdown3').animate({
top: '0',
}, 2000, function() {});
$('.rangelist-container').animate({
top: '715',
}, 2000, function() {});
$('#dropdown-holder').animate({
marginBottom: '120px',
}, 2000, function() {});
});
$('.lower2').click(function() {
$('#range-dropdown3').animate({
top: '315',
}, 2000, function() {});
$('#range-dropdown').animate({
top: '0',
}, 2000, function() {});
$('#range-dropdown2').animate({
top: '0',
}, 2000, function() {});
$('.rangelist-container').animate({
top: '715',
}, 2000, function() {});
$('#dropdown-holder').animate({
marginBottom: '120px',
}, 2000, function() {});
});
});
будем признательны за любую помощь
* все значения css объявлены в таблице стилей.
Комментарии:
1. Вы бы сэкономили много времени на ввод текста, если бы просто предоставили эти классы выпадающих списков.
2. хм, что ты имеешь в виду? я лишь очень слегка разбираюсь в JS, чтобы избежать необходимости использовать flash для простых анимаций. @pointy
3. Я думал обо всех повторяющихся строках почти одного и того же кода. Это не имеет большого значения.
Ответ №1:
Например, у вас повсюду случайные запятые в конце:
$('#range-dropdown').animate({
top: '315', // <----------------- Right here
}, 2000, function() {});
Удалите их, чтобы это выглядело так:
$('#range-dropdown').animate({
top: '315'
}, 2000, function() {});
IE7 расстраивается из-за этих завершающих запятых, но большинство других браузеров пропускают это мимо ушей и DWIM (Делают то, что я имею в виду) вместо того, чтобы жаловаться.
Комментарии:
1. о, jslint действительно выглядит очень удобно, понятия не имел об этом. еще раз спасибо!
Ответ №2:
Попробуйте явно указать единицы измерения. Вы говорите '315'
, но в каких единицах это? Ноги? Метры? Сантиметры? Используйте '315px'
, поскольку в нем явно указаны единицы измерения.
Кроме того, вам не нужно писать function() {}
снова и снова. Просто опустите ее полностью.
Комментарии:
1. к сожалению, это не устраняет проблему, хотя спасибо за предупреждение об исключении функции.