jquery将内容移动到其他div

时间:2012-03-31 12:26:00

标签: javascript jquery css

我有2列,一列有文字,另一列有脚注和图片。 当我用ajax加载文本时,一切都将在column1中。我想将图像移动到column2。

我使用的是:

$(".b_footnote").appendTo("#column2");

哪个有效,但我想保持原来的y位置。 这可能吗?

我的另一种尝试就是将其移走:

$('.b_footnote').each(function() {
   var xPos = $("#column1").offset().left;
   xPos += 540;
    $(this).offset({'left':xPos});
});

这个问题是我在column1的左边有一个div可以改变宽度,一旦这样做,脚注就会处于错误的位置。

这是一个jsFiddle

http://jsfiddle.net/Hnxdr/

我明白了:


$('.b_footnote').each(function() {
     var y = $(this).offset().top;
    $(this).appendTo("#column2");
    $(this).offset({'top':y});
});

只有结果非常难看,正如你可以在图像上看到的那样(“'de'一词在右边)。 有人知道如何从跨度中获取上下文并将其转换为拟合或

吗? (那应该看起来更好) enter image description here

1 个答案:

答案 0 :(得分:0)

我在你提供的jsfiddle上尝试了这个,这很好用

$('.b_footnote').each(function() {
   var xPos = $(this).offset();   

    $(this).appendTo("#column2");

    var col2pos = $("#column2").offset().left;

    $(this).offset({top:xPos.top, left: col2pos});
});

像这样更改changeColumnWidth函数

function changeColumnWidth() {
    var w = Math.random() * 200+180;
    $('#menu').css("width", w+"px");
    var col2pos = $("#column2").offset().left;
    $('.b_footnote').each(function() {

        $(this).offset({ left: col2pos});
   });    

}​