gpt4 book ai didi

javascript - 在 JS 文件中传输弹出 HTML 内容

转载 作者:可可西里 更新时间:2023-11-01 12:51:05 26 4
gpt4 key购买 nike

我有这个有效的弹出 HTML 代码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head profile="http://gmpg.org/xfn/11">
<title>PopUp</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

<link rel="stylesheet" type="text/css" media="all" href="style.css" />

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.popup.min.js"></script>

<script type="text/javascript">
jQuery(function () {
jQuery().popup();
});
</script>
</head>
<body>

<a href="#" id="triggerforpopup" rel="popup-open">Show popup</a>

<div id="popup-box">
This is the pop up content. The quick brown fox jumps over the lazy dog.
</div>
</body>
</html>

实际的弹出内容在:

<div id="popup-box">
</div>

是否可以将弹出的 HTML 内容 (..) 传输到我的 JS 文件中?实际上在 jQuery 函数内部单击事件?示例:

jQuery( document ).ready( function($) {
$('#triggerforpopup').live('click',(function() {
//launch the pop code to HTML
}));
});

所以在点击事件之后,JS 将简单地弹出它,但它源自 JS 文件而不是隐藏在现有内容上的 HTML。

原因是我正在编写一个 Wordpress 插件,将所有这些信息放在一个 JS 文件中会很方便。我不想在默认情况下隐藏的现有模板内容中放置额外的 HTML 代码。

感谢您的帮助。

更新:我在这里为这个创建了一个 fiddle :http://jsfiddle.net/codex_meridian/56ZpD/3/

(function (a) {
a.fn.popup = function (b) {
var c, d = [self.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft, self.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop];
a("body").append(c = a('<div id="popup-overlay"></div>')), _init = function () {
_add_overlay(), _add_buttons(), a("#popup-box #popup-content").css("max-height", a(window).height() - 400), a(window).on("resize", function () {
a("#popup-box #popup-content").css("max-height", a(window).height() - 400)
})
}, _add_overlay = function () {
c.css({
opacity: .85,
position: "absolute",
top: 0,
left: 0,
width: "100%",
"z-index": 99999,
display: "none",
height: a(document).height()
})
}, _show_overlay = function () {
c.is(":visible") || c.fadeIn("fast")
}, _hide_overlay = function () {
c.is(":visible") && c.hide()
}, _add_buttons = function () {
a("a[rel=popup-close]").click(function () {
return _hide_box(), !1
}), a("a[rel=popup-open]").click(function () {
return _show_box(), !1
})
}, _show_box = function () {
if (!a("#popup-box").is(":visible")) {
_show_overlay(), a("#popup-box").fadeIn("fast");
var b = a("html");
b.data("scroll-position", d), b.data("previous-overflow", b.css("overflow")), b.css("overflow", "hidden"), window.scrollTo(d[0], d[1])
}
}, _hide_box = function () {
if (a("#popup-box").is(":visible")) {
var b = a("html"),
c = b.data("scroll-position");
b.css("overflow", b.data("previous-overflow")), window.scrollTo(c[0], c[1]), _hide_overlay(), a("#popup-box").hide()
}
}, _init()
}
})(jQuery)

最佳答案

您可以将您的内容作为字符串直接写入您的 JS,然后使用元素的 innerHTML 属性来设置它们的值。您可以在纯 JS 中执行此操作,如下所示。

var popup = document.getElementById("popup-box");
var html = "This is the pop up content. The quick brown fox jumps over the lazy dog.";
popup.innerHTML = html;

您可以在 jQuery 中按如下方式执行此操作:

$('#triggerforpopup').on('click', function() {
$("#popup-box").html(html); // Where html is a variable containing your text.
});

注意:您可以在 html 字符串中写入 HTML 标记等,它们将按照您期望的方式呈现在页面上。您不仅限于明文。

注意:自 jQuery 1.7 起,live 已在 jQuery 中弃用。它已被替换为 on。参见 http://api.jquery.com/live/http://api.jquery.com/on/ .


如果你想像评论中提到的那样在 JavaScript 中包含所有内容,你可以这样做:

var popup = document.createElement("div");
popup.id = "popup-box";
popup.innerHTML = "your html here";
document.getElementById("parent element id").appendChild(popup);

这样做是创建一个新的 div 元素,设置它的 id,然后将它附加为您选择的父元素的子元素。您可以直接将 HTML 字符串插入到另一个元素中,但通过在此处创建一个元素,您可以更灵活地放置它。

关于javascript - 在 JS 文件中传输弹出 HTML 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13928470/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com