我有这个:
function searchOpen() {
$('.nav__item__account').addClass('nav__item__account--open');
$('.nav__item__account-dropdown').slideDown(250);
$('.nav__item__account-dropdown').addClass('nav__item__account-dropdown--open');
$('.nav__item__account-dropdown input').focus();
}
function searchClose() {
$('.nav__item__account').removeClass('nav__item__account--open');
$('.nav__item__account-dropdown').slideUp(250);
}
function searchDropdown() {
if ($('.nav__item__account-dropdown').is(":visible")) {
searchClose();
} else {
searchOpen();
}
}
Run Code Online (Sandbox Code Playgroud)
CSS for nav__item__account-dropdown--open
:
.nav__item__account-dropdown--open {
display: flex !important;
justify-content: center;
}
Run Code Online (Sandbox Code Playgroud)
虽然这种解决方法有效,但display: flex
在滑动完成之前会将其删除,从而导致一些不需要的视觉效果.
有没有办法让slideUp()
和slideDown()
应用display: flex
,而不是display: block
?
我需要在我正在构建的网站上的每个h1-h6元素下添加一条水平线.我目前正在添加一个after元素:
h1, h2, h3, h4, h5, h6 {
text-transform: uppercase;
color: #000;
margin-top: 0;
margin-bottom: 2rem;
font-weight: 800;
color: #333;
display: inline-block;
position: relative;
text-rendering: optimizeLegibility;
font-family: $altfont;
position: relative;
&:after {
content: '';
position: absolute;
bottom:0;
left:0;
width: 60px;
height: 4px;
background-color: $yellow;
}
}
Run Code Online (Sandbox Code Playgroud)
我还有一个小的jQuery函数,以确保after元素总是低于元素20px:
$(function () {
$('h1, h2, h3, h4, h5, h6').each(function () {
x = parseInt($(this).css('font-size'));
$(this).css('line-height', (x + 20) + 'px');
});
});
Run Code Online (Sandbox Code Playgroud)
如果h1左侧有文本对齐,则此方法有效 - 当文本换行为2行或更多行时,after元素将显示在最后一行的第一个单词下.
问题是,如果文本居中对齐或右对齐,则after元素将显示在h1元素下,但不会显示在最后一行的第一个单词下.这是可以用JS/JQuery完成的吗?
这是一张发生了什么的照片.在第二个例子中,我希望黄色线显示在"Slice"一词下面.
我正在玩按钮并遇到了这个问题。当按钮有圆角并且里面有一个 before 伪元素来模拟背景(用于过渡)时,我遇到了 1px 问题。before 伪元素没有正确裁剪,您几乎看不到按钮边框和填充颜色之间的某种空间。查看示例:
您会看到在圆形按钮上,边框和元素填充之间有一条细线/空间。
关于如何在保持结构不变的同时消除它的任何线索?
编辑 1. 我知道我可以使用背景代替,但在这种情况下我不能这样做。背景必须通过伪元素完成。
编辑 2. 在 Win 10、Chrome 和 Firefox 上可以看到问题。Firefox 让它更显眼。最新版本:Chrome 60.0.3112.78、Firefox 54.0.1
编辑 3. 编辑代码以显示为什么我不能使用背景属性。
a {
color: black
}
.anibtn {
display: inline-block;
overflow: hidden;
padding: 8px 20px;
margin: 0 3px 6px 3px;
text-align: center;
border: solid 10px black;
text-decoration: none;
color: $btncolor;
white-space: nowrap;
}
.anibtn-round {
display: inline-block;
overflow: hidden;
padding: 8px 20px;
margin: 0 3px 6px 3px;
text-align: center;
border: solid 10px black;
text-decoration: none;
color: …
Run Code Online (Sandbox Code Playgroud)我正在研究继承的CRM。长话短说-有一个按钮可以调用php脚本,该脚本应在后台运行,我们不需要等待响应。
request(idata+'transferInTimeExec.php',{
sync: false,
preventCache:true,
method:'GET'
});
Run Code Online (Sandbox Code Playgroud)
现在,transferInTimeExec.php
运行需要一个小时,这是一个非常复杂的脚本,它处理招聘公司的每周时间表,对其进行处理,执行大量数据库操作等。
使用Chrome。每当我按下按钮运行它时,它将阻止所有xhr调用,直到完成为止。CRM处于“ ajax繁重”状态,并且在脚本运行时,用户无法执行任何操作,如果他们导航到另一个子页面,则直到我们开始的过程完成之前,xhr请求都不会得到解决。即使当我打开一个新的浏览器选项卡并尝试执行某些操作时,它也不会执行此操作。如果在脚本运行时在另一个浏览器(Firefox)中打开CRM,则可以使用CRM。
在“网络”选项卡中-第一个未决,您可以看到所有对不同Ajax呼叫等待的后续调用(都具有sync:false)
我什sleep(30)
至用PHP函数替换了整个逻辑,以使其在返回任何内容之前30秒钟什么都不做-同样的问题。
我onClick
在按钮HTML标记内的普通javascript中尝试了XHR ,而不是Dojo方法-同样的问题。
我对整个项目进行了残酷的搜索/替换,替换sync:true
为sync:false
-没有任何更改。
我的想法已经用完了,也许这里有人可以帮忙解决这个问题?是否有用于同步/异步的全局开关?如果不是ajax问题,那还会是什么?