[英]Javascript show/hide - I don't want it to hide the entire element
这可能是一个相当简单的问题,但是我是JavaScript和jquery的新手。
我有一个带有基本显示/隐藏切换的网站。 我正在使用的show / hide功能在这里: http : //andylangton.co.uk/articles/javascript/jquery-show-hide-multiple-elements/
所以这是我的问题.....我真的希望切换部分的前5-10个字始终可见。 有什么办法可以更改它,以便它不隐藏整个元素,而是隐藏除元素的前几个单词以外的所有单词?
这是我想要执行的操作的屏幕截图: http : //answers.alchemycs.com/mobile/images/capture.jpg
有许多不同的实现可能性:
这是选项1的工作示例: http : //jsfiddle.net/jfriend00/CTzsP/ 。
您需要:
最后一个更具可定制性。 使用两个单独的元素可以进行琐碎的游戏(例如,显示图像,例如,一个小的卷曲箭头),而无需修改添加/删除DOM元素。
我倾向于最后一种方法,因为它简单明了,但这是个人喜好,实际上并不像过去那样正确。
您可以进行一些插件创作 ,根据您的屏幕截图,我在此处做了一个示例演示
<div class="toggle">ShowHide</div>
<div class="content">some content some content some content some content some content <br/> some content some content some content </div>
<div class="toggle">ShowHide</div>
<div class="content">some content some content some content some content some content <br/> some content some content some content </div>
这是javascript / jquery代码
jQuery.fn.myToggle = function(selector, count) {
var methods = {
toggle: function(selector, count) {
if ($(selector).is(':visible')) {
var span = $('<span>');
span.text($(selector).text().substr(0, count) + "...");
span.insertAfter($(selector));
$(selector).hide();
}
else {
$(selector).show();
$(selector).next('span').hide();
}
}
};
$(this).each(function() {
methods.toggle($(this).next(selector), count);
$(this).click(function(evt) {
methods.toggle($(this).next(selector), count);
});
});
};
$(function() {
$('.toggle').myToggle('.content', 3);
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.