【发布时间】:2014-04-19 10:04:47
【问题描述】:
我试图在屏幕小于 480 像素时隐藏段落,并在前面添加一个“阅读更多”按钮来打开隐藏的段落。
我尝试了以下代码,但是,在调整屏幕大小后,按钮现在适用于所有其他屏幕大小。关于我哪里出错的任何提示?
$(document).ready(function(){
/* Hide content and append a button to show more content
======================================================================== */
$(window).resize(function() {
if ($(window).width() <= 480) {
$('#first_text_paragraphs').append('<button>Read More</button>');
/* toggle Read more button
============================================= */
$('button').on("click", function() {
$('.about_text_paragraphs').slideToggle();
});
}
});
});
【问题讨论】:
-
您将
.on("click"放在resize中,因此每次调整窗口大小时,每个按钮都会附加一个click事件侦听器... -
另外,您不应该将 JavaScript 用于此类内容。这就是 CSS 的用途。
-
感谢您的评论,我不明白为什么每次调整大小时都会添加另一个按钮。将来,我将使用 CSS,我认为我会尝试使用 jQuery 来改进,看看我是否可以做到。但这一切都大有帮助。
标签: javascript jquery css media-queries