0

好的,所以我有两个代码,两者都有问题。他们齐头并进,所以请不要说做两个单独的帖子。在第二个代码完成后,我需要 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,因为我的网站只接受 BBcode。

这是我使用的完整代码,但抓取了整个帖子,而我只想要用户选择的内容。

$('.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 上工作了几个小时,这是我第一次使用它。谢谢你。

4

2 回答 2

1

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

于 2013-03-07T05:44:50.060 回答
0

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

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

第 2 部分:这里有几个关于如何防止/允许选择文本的问题:

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

于 2013-03-07T01:11:54.427 回答