有没有办法使用jquery在新窗口中显示图像?

时间:2016-09-29 08:55:17

标签: jquery

这是我的代码

$(document).ready(function() {
  $('#happymyleast').css('display', 'none');
});

$(document).ready(function() {
  $('#reveal').click(function() {
    window.open('testpage.html');
    $('#happymyleast').show();
  });
});
#happymyleast {
  position: absolute;
  top: 119px;
  left: 71px;
  height: 20px;
  width: 20px;
  background-color: #FFCC00;
  border-radius: 10px;
}
<p id="happymyleast"></p>
<button id="reveal">Reveal</button>

当我点击“显示”按钮时,我想要做的是我想要在另一页上显示的图像或css形状。那是使用jQuery实现的东西吗?

2 个答案:

答案 0 :(得分:1)

在新页面上打开图像很简单:

class Child(Parent):

    a_child_value = 'c'

    all_values = (Parent.a_value, Parent.another_value, a_child_value)

现在对于css,如果这个是动态生成的,并且你希望它出现在新页面中,你必须使用AJAX和php动态地将当前的css写入外部css文件,然后在新页面中调用它!

答案 1 :(得分:0)

$(document).ready(function(){
    $('#happymyleast').css('display', 'none');
});
$(document).ready(function(){
    $('#reveal').click(function(){
        var sub_window= window.open();
        var content=$('#happymyleast').html();
        //var styles=$('style').clone();
        var styles=$('style').clone().wrap('<div/>').parent().html();
        var full_content ='<head>'+styles+'</head>'+'<body>'+content+'</body>';
        //console.log(styles);
        sub_window.document.write(full_content);

    });
});

如果你把图像放在p里,你就能看到它。或者只需在其中键入“Hello Worl”,您就可以看到它。

我认为你正在寻找类似的东西

我做了一个例子,但是我无法在jsfiddle上托管它,因为jsfiddle阻塞了document.write