Проблема решена: Я удалил первую функцию, так как она все равно не нужна, и теперь она работает во всех браузерах. Спасибо за сообщения, хотя!
Моя проблема заключается в том, что у меня есть javascript, который на одном сервере работает без каких-либо проблем в IE. Но на другом сервере мне выдает 2 ошибки в IE.
- Он утверждает, что мой offset (). Top является либо нулевым, либо не объектом.
- Мой эффект исчезновения даже не становится активным.
Тогда у меня есть еще одна ОГРОМНАЯ проблема, которая заключается в том, что в FireFox НЕ работает все.
OPS: это веб-часть, поэтому дополнительные javascript-скрипты, работающие на сайте, могут вмешаться в javascript, который я пытаюсь выполнить здесь. Но я не уверен.
Я тестировал эту веб-часть в IE 8.0.7600.16385 на обоих серверах.
Сценарий:
<script type="text/javascript"
src="/_layouts/Progressive/Javascripts/jquery-1.4.3.js"></script>
<script type="text/javascript">
(function($) {
$.fn.goTo = function() {
// This is where IE on the second server claims the error to be.
$('html, body').animate({scrollTop: $(this).offset().top + 'px'}, 'fast');
return this;
}
})(jQuery);
function showParagraphs(sender) {
var id = sender.getAttribute('href');
if ($('#<%=paragraph.ClientID%>').hasClass("readable")) {
$('#<%=paragraph.ClientID%>').removeClass("readable");
highlightSelected(id);
}
else {
$('#<%=paragraph.ClientID%>').addClass("readable");
rmvClass(id);
}
};
function highlightSelected(id) {
$(id).goTo();
$(id).addClass("reading");
// This part is what isn't activated on the second server.
$('.reading').fadeOut(400).fadeIn(400).fadeOut(400).fadeIn(400);
// .reading only adds a gray background to the DIV.
};
function rmvClass(id) {
$('div').each(function() {
if ($(this).hasClass("reading")) {
$(this).removeClass("reading");
}
});
}
function toTop() {
$('div').each(function() {
$(this).removeClass("reading");
});
$('#<%=paragraph.ClientID%>').addClass("readable");
}
$(document).ready(function() {
$('#<%=q.ClientID%>').find('dd').hide().end().find('dt').click(function() {
$(this).next().slideToggle("fast");
});
$("#<%=q.ClientID%> dt").click(function() {
if ($(this).hasClass("selected")) {
$(this).removeClass("selected");
}
else {
$(this).addClass("selected");
}
});
});
</script>
Есть мысли или предложения?