在 shopify 上设置JavaScript弹出窗口的样式

Styling a javascript popup window on shopify

本文关键字:窗口 样式 JavaScript shopify 设置      更新时间:2023-09-26

我真的很感激这方面的帮助 - 我不是真正的开发人员/程序员,只是在工作中结束了这个!

我需要一个弹出窗口来仅向来自加拿大的游客显示折扣券。第一步是找出一个脚本来识别这些访问者,我做到了。我对JS的了解非常有限,所以我使用open.window作为弹出窗口,这实际上不允许我设置窗口样式。我希望弹出窗口看起来像一个花哨的弹出窗口,但无法将其添加到 shopify 主题(尝试过但不起作用)。

任何想法将不胜感激。非常感谢。

代码如下:

<script>
jQuery.ajax( {
url: 'https://api.wipmania.com/jsonp?callback=?',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
if (location.address.country === 'Canada') {
  window.open("","","width=300, height=100");
 }
}
} ); 
</script>

我可以建议你使用甜蜜的警报,它真的很容易使用,而且前端看起来很棒:

1)下载甜蜜的警报zip并解压缩它。

2 ) 检查 dist 文件夹并将 .min.js 和 CSS 文件移动到您的项目中。

3 ) 按照此处文档中的定义使用它们。

4)以你为例,这将是

    <script>
jQuery.ajax( {
url: 'https://api.wipmania.com/jsonp?callback=?',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
if (location.address.country === 'Canada') {
  swal("confrats you choosed Canada");
 }
}
} ); 
</script>

希望它有所帮助注意:不要忘记先加载css文件和JS文件

JavaScript

<script>
jQuery.ajax( {
url: 'https://api.wipmania.com/jsonp?callback=?',
type: 'POST',
dataType: 'jsonp',
success: function(location) {
if (location.address.country === 'Canada') {
if(localStorage.getItem('myModal') != 'shown'){     
var modal = document.getElementById('myModal');
localStorage.setItem('myModal','shown')
}
var span = document.getElementsByClassName("close")[0];
window.onload = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
window.onclick = function(event) {
if (event.target == modal) {
modal.style.display = "none";
}
}
}
}
} );
</script>
HTML:
<!-- The Modal -->
<div id="myModal" class="modal">
<!-- Modal content -->
<div class="modal-content">
<a href="#close" title="Close" class="close">&nbsp;&#10006;&nbsp;</a>
<img src="img.jpg" style="padding-top:20px;">
</div>
</div>

.CSS:

/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: hidden; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.4); /* Black w/ opacity */
}
/* Modal Content/Box */
.modal-content {
background-color: #fefefe;
margin: 15% auto; /* 15% from the top and centered */
text-align: center;
width: 440px; /* Could be more or less, depending on screen size */
height: 440px;
position:relative;
}
/* The Close Button */
.close {
color: white;
font-size: 20px;
font-weight: normal;
font-family: arial black;
background-color: grey;
border-radius: 50%;
position: absolute;
right: -18px;
top: -18px;
border: 2px solid white;
}
.close:hover,
.close:focus {
color: black;
text-decoration: none;
cursor: pointer;
}