好的,所以我有两个代码,两者都有问题。它们齐头并进,所以请不要说两个单独的帖子。第二个代码完成后,我需要scrollTop才能工作。谢谢
此部分已完成〜!
$('html,body').animate({
scrollTop: '+=' + $('a[name="quickreply"]').offset().top + 'px'
}, '3000');
将其更改为
$('html,body').animate({
scrollTop: $('a[name="quickreply"]').offset().top;
}, '3000');
接下来我发现这个代码在stackoverflow上从蒂姆下来我相信?
更新了小提琴:http://jsfiddle.net/dKaJ3/340/
我需要它只能在我选择的某个div中进行选择,并且只有文本而不是HTML,因为我的网站只接受BBcodes。
以下是我正在使用的完整代码,但抓住了整个帖子,而我只想要用户选择的内容。
$('.post').each(function() {
var text = $('#text_editor_textarea');
var uid = $(this).find('.username a').text();
var usermess = $(this).find('.entry-content div div').text();
$(this).find('.quote').click(function() {
text.val(text.val()+'[quote="'+ uid +'"]'+ usermess +'[/quote]');
$('html,body').animate({
scrollTop: '+=' + $('a[name="quickreply"]').offset().top + 'px'
}, '3000');
});
});
任何帮助都会很好,因为我已经在.getSelection上工作了几个小时,这是我第一次使用它。谢谢。
答案 0 :(得分:1)
我认为它不应该说+=
室内动画电话,而只是=
。这是因为偏移量不是相对于文档的可见顶部计算的,而是计算到文档的绝对顶部。
答案 1 :(得分:0)
首先,如果将问题拆分为其组成部分,您的问题会得到更多关注。
无论如何,第1部分:在用户的选择中,格式是否需要转换为bbcode?这可能会变得复杂。或者纯文本好吗?您可以使用正则表达式来删除html标记。
第2部分:以下是有关如何阻止/允许选择文本的几个问题:
第3部分:滚动。我发布的代码没有任何问题。你的JSFiddle似乎没有涵盖这个问题。你有没有机会提取你所拥有的东西?我认为这是代码的另一部分问题。