似乎更多问题(单击查看更多 5-10 次后操作速度变慢)
Seem more..issue (Operation slows down after clicking see more 5-10 times)
>看起来更多..问题(点击查看更多5-10次后操作速度变慢)
我修改了 查看更多.. 基于此处代码的技术 http://jsfiddle.net/hgxbf/我面临的问题是单击"查看更多/查看更少"5-10次后,操作变得非常慢并且无法正确展开/折叠。
<div class="seeMore" />
由脚本动态添加
网页结构。
<div class="Blk">
<div class="Title">
Donec at elit sed metus placerat placerat congue ut purus
</div>
<p class="trunc">
Proin ipsum lectus, facilisis sed ornare eget, egestas vel mi. Nullam ac odio arcu. Nunc congue, urna vitae malesuada consequat, leo erat bibendum nunc, et fringilla nibh diam ac tellus. Sed quis ante a ipsum placerat fermentum. Aliquam erat volutpat. Praesent rutrum ornare lectus tincidunt suscipit.
</p>
<div class="seeMore">
<span>SEE MORE</span>
</div>
</div>
我的代码 http://jsfiddle.net/y4GXL/1/
任何帮助真的很感激!
我有一些空闲时间,所以我为你修复了它。
基本上,您必须保留对"查看更多/查看更少"元素的引用并保留一个状态变量。在点击处理程序中,您决定根据状态采取行动;折叠或展开。每次状态更改后,您都会更新"按钮"文本和状态。
我还应用了更方便的变量命名(所有jquery元素都以美元为前缀),并使top函数返回.each
的结果;否则jQuery链就会被破坏。
(function($) {
$.fn.truncateText = function(maxWords) {
return this.each(function() {
var $el = $(this),
origText = $el.text(),
truncText = origText.split(' '),
state,
$toggleButton;
// decide whether to place a button
if (truncText.length <= maxWords) {
return;
}
truncText.length = maxWords;
truncText = truncText.join(' ');
// add button and define click handler
$toggleButton = $('<div class="seeMore"></div>')
.insertAfter($el)
.on('click', function() {
if ('open' == state) {
collapse(); // old state was open, so close it
} else {
expand(); // old state was closed, so open it
}
});
function collapse()
{
$el.text(truncText + ' ...');
state = 'closed';
$toggleButton.text('See More');
}
function expand()
{
$el.text(origText);
state = 'open';
$toggleButton.text('See Less');
}
collapse();
});
}
})(jQuery);
$(".trunc").truncateText(4);
在这里行动: http://jsfiddle.net/y4GXL/6/
相关文章:
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- 如何确定javascript已经完成了某些操作.ios上的
- 防止Alt+Shift默认操作或检测多种操作系统语言的Javascript
- 从JavaScript访问struts操作中的属性
- fluxxor向一个flux实例添加一组以上的操作
- Wacom stu-430签名捕获速度太慢
- Jquery表单验证插件-如果选中复选框,如何在提交时执行某些操作
- 操作放置在画布上的元素之间的连接
- 使用“+="操作人员
- Rails操作只调用一次,但我在ajax中每秒钟都调用一次
- Jquery未定义函数正在停止其他操作
- 简单的Html5画布操作会降低浏览器的速度
- JQuery 错误 -- 减慢在浏览器中查看错误的操作速度
- 操作“虚构”元素的速度是否比当前在 DOM 中的元素快
- 似乎更多问题(单击查看更多 5-10 次后操作速度变慢)
- 设置操作中的间隔更改速度
- JQuery css操作减慢了Page的速度
- javascript和php中字符串和数组的处理速度,以及数组是否可以不加操作地传递给php
- 滚动速度操作css jquery