Я обнаружил некоторые небольшие проблемы в вашем коде. Я не уверен, что мои предложения решат все проблемы, но я решил описать свои первые результаты здесь.
1) Вы должны удалить запятую перед '}'. В настоящее время звонок выглядит как $("#column").sortable({/**/,});
2) Функция equalHeight
не является плагином jQuery. Это причина, по которой вызов $(".block").equalHeights();
в вашем обработчике события 'click' следует за ошибкой "$ (". Block "). EqualHeights не является функцией", которую вы описали. Вы должны изменить место кода на equalHeight($(".block"));
, как вы используете его в других местах.
3) Скрипт http://vitaminjdesign.com/adrian/js/equalHeight.js определяет только функцию equalHeight
и не запускает никаких действий. После того, как загрузитесь, оставайтесь на странице. Поэтому не следует загружать в конце каждого запроса AJAX. Поэтому я предлагаю уменьшить сценарий
$(document).ajaxSuccess(function(){
var script = document.createElement('script');
script.src = 'http://vitaminjdesign.com/adrian/js/equalHeight.js';
document.body.appendChild(script);
equalHeight($(".block"));
$("a[href^='http:']:not([href*='" + window.location.host + "'])").each(function() {
$(this).attr("target", "_blank");
});
});
до
$(document).ajaxSuccess(function(){
equalHeight($(".block"));
$("a[href^='http:']:not([href*='" + window.location.host + "'])").each(function() {
$(this).attr("target", "_blank");
});
});
4) Предлагаю изменить код http://vitaminjdesign.com/adrian/js/equalHeight.js с
function equalHeight(group) {
tallest = 0;
group.each(function() {
thisHeight = $(this).height();
if(thisHeight > tallest) {
tallest = thisHeight;
}
});
group.height(tallest);
}
до
function equalHeight(group) {
var tallest = 0;
group.each(function() {
var thisHeight = $(this).height();
if(thisHeight > tallest) {
tallest = thisHeight;
}
});
group.height(tallest);
}
для исключения использования глобальных переменных tallest
и thisHeight
. Я рекомендую вам использовать JSLint , чтобы проверить все ваши коды JavaScript. Я нахожу это очень полезным.
5) Я рекомендую вам использовать любой валидатор XHTML, чтобы найти небольшие, но иногда очень важные ошибки в разметке. Попробуйте this например, чтобы увидеть некоторые ошибки. Чем больше вы будете следовать стандартам XHTML, тем больше вероятность того, что результаты будут разными в разных браузерах. Кстати, вы можете значительно сократить количество ошибок в вашем текущем коде, если сценарии, включенные в страницу, будут иметь следующий вид
<script type="text/javascript">
//<![CDATA[
/* here is the JavaScript code */
//]]>
</script>
Я не анализировал полный код, но надеюсь, что мои предложения помогут решить хотя бы некоторые из проблем, которые вы описали в своем вопросе.