我正在用3个按钮构建弹出窗口!每个按钮需要设置一个cookie,但具有不同的到期时间/日期.我正在使用jquery.cookie这个!
1个按钮更像是一个会话cookie.因此,当单击此按钮时,弹出窗口需要消失并在我启动新的浏览器屏幕时再次显示.所以,当我在同一个浏览器窗口和同一个网站上打开一个页面时.
1个按钮用于"不再显示弹出窗口",将cookie设置为7天
我无法正确设置不同的到期时间.因此,例如当我单击带有会话cookie的按钮时,当我在网站内打开新页面时,弹出窗口再次显示.
我看不出我做错了什么!我没有得到任何控制台错误,但cookie不会正确设置.
我有的是这个:
$(document).ready(function(){
var my_cookie = $.cookie('regNewsletter');
if (!my_cookie) {
setTimeout(function(){
$('#newsletter').modal('show');
}, 1000);
}
$(".close--btn").on("click", function () {
$.cookie('regNewsletter', true, {
path: '/',
domain: ''
});
});
$(".dismiss--btn").on("click", function () {
$.cookie('regNewsletter', true, {
path: '/',
domain: '',
expires: 7
});
});
console.log(my_cookie);
// code for removing cookie when session ends //
window.onbeforeunload = function() {
$.removeCookie('regNewsletter', { path: '/', domain: '' });
};
$("#newsletter .btn").click(function(e){
e.preventDefault();
$.ajax({
...
success: function(txt, …Run Code Online (Sandbox Code Playgroud) 我在Twig中翻译字符串时遇到了麻烦.我正在为多语种网店建立一个主题.
用户可以创建USP(唯一销售点).问题是当你有不同的语言时它不会翻译.
所以在模板中就像这样调用usp {{ theme.usp }}
.结果就是"免费送货".
要翻译系统中的字符串,您必须使用{{ 'Free shipping' | t }}过滤器.
有没有办法{{ theme.usp }}翻译.我认为这会很有用,但我不知道如何将其合并.如何在twig中连接字符串
我做的是:
{% set usp = {{ theme.usp }} %}
{{ usp | t }}
Run Code Online (Sandbox Code Playgroud)
这样做会给我一个错误,因为{{ theme.usp }}它必须介于两者之间''.这样做并没有给我带来'Free shipping'结果,但是'theme.usp'.
有人建议吗?
假设我有一个带有3个li元素的ul.如何在纵向模式下隐藏最后两个li元素,并在横向模式下显示全部3个元素?使用CSS offcourse和Bootstrap 3.
<div class="header-box pull-left">
<ul>
<li class="usp">
<a href="link" title="usp">
<span class="usp-text">usp</span>
</a>
</li>
<li class="usp hide-for-xs">
<a href="link" title="usp">
<span class="usp-text">usp</span>
</a>
</li>
<li class="usp hide-for-xs">
<a href="link" title="usp">
<span class="usp-text">usp</span>
</a>
</li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
我想过做的事情:
.show-for-landscape{
display:block!important;
}
Run Code Online (Sandbox Code Playgroud)
但这如何与媒体查询一起使用?什么是屏幕尺寸的好设置等?
任何建议更受欢迎
关于这个问题.
当a == true和b == false时你怎么办?这必须是在投票之前相信与否,但没有什么可以找到的.
所以:
{% if a == true and b == false %}
do stuff
{% endif %}
Run Code Online (Sandbox Code Playgroud)
你应该说这应该有效,但事实并非如此:
{% if (a == true) and (b == false) %}
do stuff
{% endif %}
Run Code Online (Sandbox Code Playgroud)
UPDATE2这有效,因为一个是真的,两个是假的
{% if variant.stock.track == true %}
{% if variant.stock.on_stock == false %}
({{ 'Out of stock' | t }}){% else %} ({{ 'In stock' | t }})
{% endif %}
{% endif %}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Bootstrap 3 模式,其中我从 getJson 函数加载一些数据。由于模态内的数据加载速度不一样,我想显示加载图像/文本。加载所有数据后,显示/打开模态。我发现这个线程非常有用,但我不知道如何将它放在我的代码中。有人可以帮我吗?
我的功能
function myfunction(url){
$('.products-loader').show(); //show the loading image and then??
$.getJSON(url, function (data){
var product = data.product;
var image = 'http://www.webshop.com/i/' + image_id_convert(product.image) + '/380x380x2/image.jpg';
$('.wqs-title').html('<a href="'+ product.url + '">' + product.title + '</a>');
$('.wqs-description').html(product.description);
$('.wqs-images').html('<img src="' + image + '"/>');
//etc....
});
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试在滚动到锚点时使锚点链接固定的导航。使事物固定在锚点上不是问题。
问题是我的导航几乎位于屏幕底部。因此,如果您向下滚动导航键会发生什么情况fixed。然后,单击锚链接时,脚本将滚动到很远的锚块。我试图将导航偏移到导航的高度。这有效,但仅当您再次单击同一链接时才有效。第一次单击锚链接仍然会使链接滚动太远!
我创建了一个小提琴来解释会发生什么-> 小提琴
我个人认为,scrollTo和同时固定nav是相互干扰的。
有人知道会导致什么吗?
我所拥有的是:
<div class="anchor-links">
<div class="anchor-wrapper">
<ul class="nav-list">
<li><a href="#description" class="goSmoothly">Product information</a></li>
<li><a href="#bundles" class="goSmoothly">Product bundles</a></li>
<li><a href="#reviews" class="goSmoothly">Reviews</a></li>
<li><a href="#related" class="goSmoothly">Related products</a></li>
</ul>
</div>
</div>
<div id="description" class="block">description</div>
<div id="bundles" class="block">bundles</div>
<div id="reviews" class="block">reviews</div>
<div id="related" class="block">related</div>
var fixmeTop = $('.anchor-links').offset().top;
$(window).scroll(function() {
var currentScroll = $(window).scrollTop();
if (currentScroll >= fixmeTop){
$('.anchor-links').addClass("sticky");
} else {
$('.anchor-links').removeClass("sticky");
}
});
$('.goSmoothly').click(function(event){
event.preventDefault();
$(this).addClass('active');
$('html,body').animate({
scrollTop: $(this.hash).offset().top - 100
}, 500);
});
Run Code Online (Sandbox Code Playgroud) 我无法使用 Twig 检查数组中是否存在值。如果购物车中有某种产品,我想在结账时隐藏运输方式。
我只能使用Twig代码,所以我必须在其中找到逻辑。
假设当产品 ID 1234 在购物车中时我想隐藏#certain_div
所以我所拥有的是这个->
{% if checkout %}
{% set array = theme.sku_shipping_rule | split(',') %}
// theme.sku_shipping_rule = a text string like 1234, 4321, 5478
{% if checkout.products %}
{% for product in checkout.products %}
{% if product.sku in array %}
<style>
#certain_div {
display: none;
}
</style>
{% endif %}
{% endfor %}
{% endif %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)
我面临的问题是我的代码似乎总是返回 true。因此,即使 与product.sku数组中的值不匹配,它仍然会隐藏#certain_div。我已经通过放置{{ product.sku }}在之前进行了测试 …
我正在尝试格式化日期并将每个项目(月,日和年)放在div或span中.我正在使用SaaS平台提供如下日期:
2015-03-07 22:54:00
Run Code Online (Sandbox Code Playgroud)
我尝试做的是将此日期格式化为3个单独的项目,并将它们放在div中,如下所示:
<span class="day">07</span>
<span class="month">March</span>
<span class="year">2015</span>
Run Code Online (Sandbox Code Playgroud)
因此,我需要删除一切后面的所有内容-并在div中调用它,如下所示:
<span class="day">{{ article.date | split('-')[2] }}</span>
<span class="month">{{ article.date | split('-')[1] }}</span>
<span class="year">{{ article.date | split('-')[0] }}</span>
Run Code Online (Sandbox Code Playgroud)
这给了我一个输出:
<span class="day">07 22:54:00</span>
<span class="month">03</span>
<span class="year">2015</span>
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是在一天之后删除时间并将月份更改为文本表示.
我知道它可以用PHP日期函数完成,但我不能让它工作.我面临的问题是每个日期之后需要剥离日期-.
有没有人可以帮我这个?
我正在尝试使用jquery将渐变或纯色应用于元素.为什么用jQuery?因为这个站点有几种不同的颜色组合,所以生成css类太多了.
假设我有一个从JSON调用生成的列表
<div class="colours">
<ul>
<li class="black white"></li>
<li class="green"></li>
</ul>
</div>
Run Code Online (Sandbox Code Playgroud)
如您所见,我需要一个带有渐变(黑/白)和一个实心(绿色)元素的列表元素.
所以我的问题是如何在列表类中包含两种颜色时设置渐变,或者在只需要一种颜色时设置纯色?
使用下面的代码,它总是给我"productHtml不是一个函数"或[object object]当我尝试应用颜色时.
$.each(data.product.custom, function(i, custom) {
var productsHtml = [];
$.each(custom.values, function(index, value){
var color = (value.title).toLowerCase();
var colorClean = color.replace(/\s?\/\s?/," ");
var colors = colorClean.split(/\s+/);
if (colors.length===1) {
colors[1] = colors[0];
}
// var productHtml = '' +
// '<li class="'+colorClean+'" ></li>';
var productHtml = $('<li></li>').css({
'background': '-moz-linear-gradient(-45deg, + colors[0] + 0%, + colors[0] + 49%, + colors[1] + 49%, + colors[1] + …Run Code Online (Sandbox Code Playgroud) 我有一个 Twig for 循环,使用批处理过滤器将每 2 个元素包装在容器 div 中。我想在这个 for 循环中为每个第三个和第四个 div 添加一个类名。loop.index但使用过滤器时似乎无法使用batch。那是对的吗?那么使用批量过滤器时如何访问索引呢?
我尝试的是这样的:
{% for batch in blog.articles | limit(6) | batch(2) %}
<div class="blog-art-wrap row-eq-height">
{% for article in batch %}
<div class="article {% if loop.index == 3 or loop.index == 4 %}some-class{% endif %}">...... </div>
{% endfor %}
</div>
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
我也尝试过loop.index3等等...但它似乎忽略了这一点。还是因为批次是2个?那么实际上没有索引 3 和 4 吗?如果是这样,那么您如何访问每第二批?
我正在尝试为订单系统创建一个包含日期的数组。这些日期对应于商店无法交付的天数。
我在创建该数组时遇到了麻烦,因为值是字符串,并且merge过滤器不断产生错误。
我只能访问商店的前端,所以我无法创建自定义功能。
最终结果需要是一个包含所有日期的数组,以便我可以将其用作 javascript 数组,如下所示:
var closed = [
{{ closedDates }} // ["01-01-2018", "02-01-2018", etc...]
];
Run Code Online (Sandbox Code Playgroud)
所以我所拥有的是:
1) 网上商店填写他们关闭的单个天数,也许是一系列天数。这是三个变量,如:
{{ closedDays }} {# produces eg 01-01-2018, 02-01-2018, 03-01-2018 { it's dd-mm-yy #}
{{ date_range_start }} {# produces eg. 10-01-2018 #}
{{ date_range_end }} {# produces eg. 20-01-2018 #}
Run Code Online (Sandbox Code Playgroud)
2)所以我所做的是:
{% set closedDates = [] %}
{% if theme.closedDays %}
{% set foo = theme.closedDays %}
{% for i in foo | slice(0, 5) %}
{% set …Run Code Online (Sandbox Code Playgroud)