如何获取当前可见图像src来填充表单的字段?

朱皮克

在我的Rails应用程序中,以创建新帖子的形式,我正在使用Metainspector抓取链接并获取所提供网站的图像。

响应位于ajax中,然后我使用一个脚本,该脚本仅显示返回列表的一个图像。有上一个和下一个按钮可循环浏览它们。我希望可见图像的src属性由jQuery抓取以填充表单的字段。

当我单击上一个或下一个时,我的字段的内容已更改,但是它将显示先前显示的图像,而不是实际的图像。我不知道该如何触发。如果显示Image3,则我的字段中有Image2的src ...

我应该在此代码中添加/更改什么以用当前显示的源图像而不是上一个图像填充该字段?

这是jQuery代码:

var speed = 100;

$(".prev").click(function() {
    var now = $(this).parent().next("ul.gallery").children(":visible"),
        last = $(this).parent().next("ul.gallery").children(":last"),
        prev = now.prev();
        prev = prev.index() == -1 ? last : prev;
    now.fadeOut(speed, function() {prev.fadeIn(speed);});

    var img_src = $('.list_img').children(":visible").attr("src");
    $('#image_url').val(img_src);
});


$(".next").click(function() {
    var now = $(this).parent().next("ul.gallery").children(':visible').addClass("show"),
        first = $(this).parent().next("ul.gallery").children(':first'),
        next = now.next();
        next = next.index() == -1 ? first : next;
    now.fadeOut(speed, function() {next.fadeIn(speed);});

    var img_src = $('.list_img').children(":visible").attr("src");
    $('#image_url').val(img_src);
});

$(".gallery li").click(function() {
    var first = $(this).parent().children(':first'),
        next = $(this).next();
        next = next.index() == -1 ? first : next;
    $(this).fadeOut(speed, function() {next.fadeIn(speed);});
});

以及new.html.erb中表单的相关部分:

<%= simple_form_for(@deal) do |f| %>  

<%= f.text_field :link, id: 'link' %>

<div class="slideButtons">
    <span class="prev"><</span>
    <span class="next">/ ></span>
</div>
<ul class="gallery" id="scrap_img">
</ul>

<%= f.text_field :image_url, id: "image_url" %>

<%= f.submit %>
德文·霍华德

问题是由于fadeIn回调引起的。这是怎么回事:

  1. 您单击.prev或.next
  2. 旧图像开始淡出
  3. image_url字段使用旧(仍可见)图像的src更新
  4. 旧图像逐渐淡出
  5. 新图像逐渐淡入。

重做上一步骤的方法如下:

$(".prev").click(function() {
  var now = $(this).parent().next("ul.gallery").children(":visible"),
      last = $(this).parent().next("ul.gallery").children(":last"),
      prev = now.prev();
      prev = prev.index() == -1 ? last : prev;
  now.fadeOut(speed, function() {
    prev.fadeIn(speed);
    $('#image_url').val($(prev).attr('src'))
  });
});

您还可以使用DOM清理该索引跟踪逻辑,执行类似的操作(移动实际元素而不是有选择地显示特定元素):

$('.prev').click(function) {
  $('.gallery > img').first().fadeOut(speed, function() {
    var newImage = $('.gallery > img').last()
    $(newImage).detach().prependTo('.prev').fadeIn(speed)
    $('#image_url').val($(newImage).attr('src'))
  })
})

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

AvCapture / AVCaptureVideoPreviewLayer无法获取正确的可见图像

来自分类Dev

如何获取当前可见的图块坐标?

来自分类Dev

检测眼睛可见图像中的独特颜色

来自分类Dev

数据表-仅加载可见图像

来自分类Dev

python tk画布中的不可见图像

来自分类Dev

如何将布局或视图作为图像导出到Android中的可见图库文件夹?

来自分类Dev

如何在 Recycler View 中获取当前可见的项目

来自分类Dev

脚本将画布大小裁剪为透明png文件中的可见图像大小

来自分类Dev

为每个可见图像传递两个数字

来自分类Dev

从活动获取当前可见片段

来自分类Dev

Photoshop Script - 获取组/图层集中可见图层的名称

来自分类Dev

在表单的不可见输入文本字段中获取 userId

来自分类Dev

如何确定字段列表当前在DevExpress PivotGrid控件中是否可见

来自分类Dev

如何输出到当前可见的终端

来自分类Dev

如何填充颜色/使画布圈可见

来自分类Dev

如何仅考虑可见元素来获取当前元素的索引?

来自分类Dev

如何使用MPAndroidChart获取当前可见的x和y轴范围?

来自分类Dev

我如何从视图分页器适配器中获取当前可见的片段。

来自分类Dev

如何获取当前可见活动的引用而不将其作为参数传递给其他类

来自分类Dev

如何通过单击多个EJS数据字段来填充多个表单字段

来自分类Dev

滚动时如何使图像褪色可见

来自分类Dev

缩放图像以填充后,SwiftUI边缘变得可见

来自分类Dev

如何使用css或jquery创建弯曲的图像(参见图片)

来自分类Dev

如何确定Python中常见图像类型的类型和大小?

来自分类Dev

使用matplotlib plt.show()不可见图

来自分类Dev

MSAGL:更新可见图(添加边)

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

在android dumpsys中获取当前可见片段的信息

来自分类Dev

wxPython-StyledTextCtrl获取当前可见的行

Related 相关文章

  1. 1

    AvCapture / AVCaptureVideoPreviewLayer无法获取正确的可见图像

  2. 2

    如何获取当前可见的图块坐标?

  3. 3

    检测眼睛可见图像中的独特颜色

  4. 4

    数据表-仅加载可见图像

  5. 5

    python tk画布中的不可见图像

  6. 6

    如何将布局或视图作为图像导出到Android中的可见图库文件夹?

  7. 7

    如何在 Recycler View 中获取当前可见的项目

  8. 8

    脚本将画布大小裁剪为透明png文件中的可见图像大小

  9. 9

    为每个可见图像传递两个数字

  10. 10

    从活动获取当前可见片段

  11. 11

    Photoshop Script - 获取组/图层集中可见图层的名称

  12. 12

    在表单的不可见输入文本字段中获取 userId

  13. 13

    如何确定字段列表当前在DevExpress PivotGrid控件中是否可见

  14. 14

    如何输出到当前可见的终端

  15. 15

    如何填充颜色/使画布圈可见

  16. 16

    如何仅考虑可见元素来获取当前元素的索引?

  17. 17

    如何使用MPAndroidChart获取当前可见的x和y轴范围?

  18. 18

    我如何从视图分页器适配器中获取当前可见的片段。

  19. 19

    如何获取当前可见活动的引用而不将其作为参数传递给其他类

  20. 20

    如何通过单击多个EJS数据字段来填充多个表单字段

  21. 21

    滚动时如何使图像褪色可见

  22. 22

    缩放图像以填充后,SwiftUI边缘变得可见

  23. 23

    如何使用css或jquery创建弯曲的图像(参见图片)

  24. 24

    如何确定Python中常见图像类型的类型和大小?

  25. 25

    使用matplotlib plt.show()不可见图

  26. 26

    MSAGL:更新可见图(添加边)

  27. 27

    在android dumpsys中获取当前可见片段的信息

  28. 28

    在android dumpsys中获取当前可见片段的信息

  29. 29

    wxPython-StyledTextCtrl获取当前可见的行

热门标签

归档