scrollTop和getSelection()

时间:2013-03-07 00:12:02

标签: javascript jquery scrolltop getselection

好的,所以我有两个代码,两者都有问题。它们齐头并进,所以请不要说两个单独的帖子。第二个代码完成后,我需要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上工作了几个小时,这是我第一次使用它。谢谢。

2 个答案:

答案 0 :(得分:1)

我认为它不应该说+=室内动画电话,而只是=。这是因为偏移量不是相对于文档的可见顶部计算的,而是计算到文档的绝对顶部。

答案 1 :(得分:0)

首先,如果将问题拆分为其组成部分,您的问题会得到更多关注。

无论如何,第1部分:在用户的选择中,格式是否需要转换为bbcode?这可能会变得复杂。或者纯文本好吗?您可以使用正则表达式来删除html标记。

第2部分:以下是有关如何阻止/允许选择文本的几个问题:

第3部分:滚动。我发布的代码没有任何问题。你的JSFiddle似乎没有涵盖这个问题。你有没有机会提取你所拥有的东西?我认为这是代码的另一部分问题。