我在桌面和移动设备上使用Safari时遇到问题很慢,重新绘制位置元素:用户滚动时修复.
具有位置的元素:修复了safari遇到困难的元素是#intro,以及.portfolio-item .expanded-content的页脚元素.滚动中的#intro不一定会重新绘制到正确的z-index(当用户滚动时,它应该在其他元素后面).移动设备上的页脚元素不会停留在iOS Safari中滚动内容的固定位置.在iOS游戏中滚动是jaggy(然而,iOS Chrome是流动的,一切都按预期工作).
我做了一个小提琴,我删除了所有的图像,字体和JS,并且看,safari没有重新绘制位置的问题:固定元素滚动.
由于这是一个投资组合网站,剥离我的图像显然不是一个选择.我真的希望这是一个真正的单页网站,而不是使用AJAX或任何东西来按需加载内容.我是否要求太多的safari拥有那么多元素并且能够重新定位具有位置的元素:固定在滚动上?Chrome和FF似乎没有问题; IE9,10,11也没有.
我不完全确定它是一个重新绘制的问题,但你可以在下面的视频中看到,如果我通过触发一个不滚动的事件(如鼠标悬停事件)强制Safari重新绘制,它会重新绘制并放置该位置:fixed element在我的样式表中指定的z-index中.所以这个事实,加上小提琴工作得很好,这就是为什么我认为它是一个重新绘制的问题,而不是我的代码的问题.
我希望找到一种方法来解决这个问题,而不需要诉诸更多的JS或动态加载的内容,以保持相同的设计(不要放弃使用position的定义:固定或流畅的布局只是因为一个浏览器遇到问题它)并试图保持快速和平稳的性能.我想在每次用户滚动强制safari重绘时使用JS,但在我看来,这似乎会对所有浏览器的性能产生负面影响.我真的可以使用其他人的想法和观点.
该网站:http://sarahjean.co
小提琴:http://jsfiddle.net/sjc8611/n9z3W/
视频:https://dl.dropboxusercontent.com/u/24724104/position-fixed-repaint-lag-safari.mov
html:
<nav data-scroll-header="" id="main-navigation">
<ul>
<li><a href="#work" data-scroll="">Work</a>
</li>
<li><a href="#about" data-scroll="">About</a>
</li>
<li><a href="#services" data-scroll="">Services</a>
</li>
<li><a href="#contact" data-scroll="">Contact</a>
</li>
</ul>
</nav>
<div class="header" id="header">Header Content</div>
<section id="intro" class="container">
<article class="content">
<h1>Introduction Text</h1>
<p>Welcome to my super cool portfolio site. Check out how awesome I am. You should totally hire me.</p>
</article>
</section>
<section id="work" class="container"> …Run Code Online (Sandbox Code Playgroud) 我正在使用asp:Hyperlink根据URL中的参数动态呈现链接图像.我需要能够为渲染的img添加一个CSS类,并且无法弄清楚如何做到这一点.
我知道我可以在asp:Hyperlink中添加"CssClass ="blah"",但在渲染的HTML中,只有a接收css类.像这样:
<a href="assets/images/blah.jpg" class="blah" id="ctl00_LeftContent_alternateImage4">
<img style="border-width: 0px;" src="assets/images/blahThumbnail.jpg"/>
</a>
Run Code Online (Sandbox Code Playgroud)
我发现了另一个允许我为控件添加内联样式的问题,但是我想在asp:hyperlink生成的img中添加一个类.
有可能做类似这个答案的事情:
myControl.Attributes.Add("style", "color:red");
Run Code Online (Sandbox Code Playgroud)
喜欢,也许?:
myControl.img.Attributes.Add("class", "blah");
Run Code Online (Sandbox Code Playgroud) 我知道,这已经被问到了,但我不明白为什么这对我不起作用.
试图检测表单更改,如果用户试图离开,我希望他们确认他们将丢失更改...
var dirty = false;
$("form#add_item :input").change(function() {
dirty = true;
});
$("window").on('beforeunload', function() {
if (dirty) {
return 'You have unsaved changes! If you leave this page, your changes will be lost.';
}
Run Code Online (Sandbox Code Playgroud)
});
我有一个非常糟糕的xml文档 - 而不是子节点,项目有多个属性.
例如:
<makes>
<option make="FORD" year_start="1950" year_end="2009" />
<option make="CHEVROLET" year_start="1965" year_end="2009" />
...
</makes>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用XPath为与特定属性匹配的所有节点选择其他属性的值.我正在使用基于先前选择的2 xml文档的值填充3个asp下拉菜单.我正在使用.net/c#
例如: 对于具有值x的make属性的所有选项节点,找到year_start的值.
我试过这样的事情:
yearListData.XPath = string.Format("/makes/option[@year_start] and [@make={0}]", make);
Run Code Online (Sandbox Code Playgroud)
其中make =上一个选择.显然,它没有用.
有没有办法使用XPath来做到这一点?