繁体   English   中英

单击图像打开弹出窗口

[英]Click image opens popup

所以我想做的是单击一个图像,这将在文本字段中打开一个带有图像URL的弹出窗口。 更改URL和更改图像URL应该是可能的。

我的JavaScript很差,这就是为什么我寻求帮助。

HTML

<img src="#" onClick="changePicture();" />

使用Javascript

function changePicture() {
      var myPopup = window.open("", "", "width=200, height=100");
}

这实际上非常简单。 制作如下图像:

<img src="http://lorempizza.com/200/200/" onclick="change()" id="target">

而且功能很简单。

    function change(){
    var target = document.getElementById("target");
    var current = target.src;
    var url = prompt("change address to:", current);
    target.src= url;
}

首先,定义变量。 var url将打开一个提示窗口,要求您提供url。 var target定义您要更改的图像。 最后一行将var target的src更改为var url的值。 var current获取图像的当前URL,并将当前URL添加到文本框中。
JSFiddle演示

也许我不太了解您的问题,但是您可以使用JavaScript / HTML在新窗口中使用以下代码打开链接:

<a href="#" onclick="window.open('newWindow.html', 'newName', 'width=300, height=250'); return false;">Click here</a>

该新文档可以容纳您图像的视图(或者,您可以只将open()的第一个参数更改为图像本身),然后从该新窗口中更改的“文本字段”就是url。

像这样的东西?

IMG HTML:

<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Ski_trail_rating_symbol-blue_square.svg/600px-Ski_trail_rating_symbol-blue_square.svg.png" />

JS:

$('img').on("click",function(){
    var win = window.open();
    var url = $(this).attr("src");
    var html = $("body").html("<textarea>" + url +"</textarea>");
    $(win.document.body).html(html);
});

演示:

http://jsfiddle.net/HsTkf/10/

如果要查找对话框:

您可以自己制作并执行类似的操作。 这仍然缺少一些东西,例如关闭它的方式,正确的定位以及什么。 但是,如果您要查找的话,还有更高级的对话框库。

HTML:

<img src="http://upload.wikimedia.org/wikipedia/commons/thumb/0/0d/Ski_trail_rating_symbol-blue_square.svg/600px-Ski_trail_rating_symbol-blue_square.svg.png" />

<div class="prompt"></div>

JS:

$('img').on("click",function(){
   var url = $(this).attr("src");
   $(".prompt").append("<textarea>" + url +"</textarea>");
   $(".prompt").addClass("show");
});

CSS:

img {
    width:50px;
    height:50px;
}
.prompt {
   display:none;
    position:absolute;
    top:40%;
    left:40%;
    padding:10px;
    border:1px solid #ccc;
    -webkit-box-shadow: 3px 3px 7px 0px rgba(50, 50, 50, 0.75);
    -moz-box-shadow:    3px 3px 7px 0px rgba(50, 50, 50, 0.75);
    box-shadow:         3px 3px 7px 0px rgba(50, 50, 50, 0.75);
}
.show {
    display:block;
}

演示: http : //jsfiddle.net/HsTkf/21/

图书馆:

  1. http://getbootstrap.com/javascript/#modals
  2. http://jqueryui.com/dialog/
  3. http://www.ericmmartin.com/projects/simplemodal/

我在jsfiddle中创建了一个示例。

当您单击图像时,它将在弹出窗口中以编辑模式打开当前图像URL,您可以对其进行更改。

function ChangeUrl(){ 
    var image1 = document.getElementById("image1");
    var url = prompt("change image source",image1.src);   
    image1.src= url;
}

参见工作示例: -http : //jsfiddle.net/XUjAH/1094/

或者我为您创建了另一个jsfiddle,我已经使用jquery对话框代替了提示。

请参阅此工作示例: -http : //jsfiddle.net/eDMmy/9/

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM