#javascript #jquery
#javascript #jquery
Вопрос:
У меня есть страница с тремя разными фрагментами кода jquery, все они выполняют разные действия. Проблема в том, что когда все они находятся на странице, работает только первый. Я изменил порядок, и независимо от фрагмента работает только первый. Есть ли внутренний конфликт jquery, который я пропускаю?
Мой код:
<script type="text/javascript">
jQuery(document).ready( function() {
$("#main-menu li").mouseenter(function() {
$(this).find("ul").fadeIn();
}).mouseleave(function(){
$(this).parent().find("ul").fadeOut();
});
jQuery( ".text-resize a" ).textresizer({
target: ".content",
type: "fontSize",
sizes: [ "12px", "16px" ],
selectedIndex: 0
});
jQuery( ".text-resize a" ).textresizer({
target: ".title",
type: "fontSize",
sizes: [ "11px", "16px" ],
selectedIndex: 0
});
jQuery( ".text-resize a" ).textresizer({
target: ".show-more",
type: "fontSize",
sizes: [ "12px", "16px" ],
selectedIndex: 0
});
jQuery( ".text-resize a" ).textresizer({
target: "#footer",
type: "fontSize",
sizes: [ "12px", "16px" ],
selectedIndex: 0
});
jQuery( ".text-resize a" ).textresizer({
target: ".copyright",
type: "fontSize",
sizes: [ "11px", "16px" ],
selectedIndex: 0
});
$(".slidetabs").tabs(".images > div", {
// enable "cross-fading" effect
effect: 'fade',
fadeOutSpeed: "2000",
// start from the beginning after the last tab
rotate: true
// use the slideshow plugin. It accepts its own configuration
}).slideshow( {autoplay: true, interval:3000});
});
</script>
Спасибо
Комментарии:
1. Загружаете ли вы другие библиотеки javascript?
2. вы уверены, что можете вызывать
.textresizer
один и тот же элемент более одного раза?3. Вы уверены, что не получаете ошибку javascript? Ошибка остановит выполнение дальнейшего скрипта.
4. Это все библиотеки, которые я загружаю:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script src="js/jquery.textresizer.js"></script> <script src="js/jquery.tools.min.js"></script>
5. У меня не было никаких проблем с изменением размера текста при таком использовании в прошлом.
Ответ №1:
Я предполагаю, что вы используете этот плагин textResizer. Вам действительно следует использовать type="cssClass"
, если вы собираетесь использовать разные разделы страницы разных размеров.
jQuery( ".text-resize a" ).textresizer({
target: "body",
type: "cssClass",
sizes: [ "size1", "size2" ],
selectedIndex: 0
});
Ваш CSS будет выглядеть примерно так
body.size1 .content { font-size: 12px;}
body.size2 .content { font-size: 16px;}
body.size1 .title { font-size: 11px;}
body.size2 .title { font-size: 16px;}
body.size1 .show-more { font-size: 12px;}
body.size2 .show-more { font-size: 16px;}
body.size1 #footer { font-size: 12px;}
body.size2 #footer { font-size: 16px;}
body.size1 .copyright { font-size: 11px;}
body.size2 .copyright { font-size: 16px;}
Было бы лучше объединить CSS для тех, которые одинаковы
body.size1 .title,
body.size1 .copyright { font-size: 11px;}
body.size1 .content,
body.size1 #footer,
body.size1 .show-more { font-size: 12px;}
body.size2 .content,
body.size2 .title,
body.size2 .show-more,
body.size2 #footer,
body.size2 .copyright { font-size: 16px;}
Комментарии:
1. Вы правы, я должен. Спасибо за помощь в этом направлении! К сожалению, это не влияет на мою проблему, работает либо средство изменения размера, либо один из других блоков кода.