У меня проблема с фиксированным элементом на моем веб-сайте при прокрутке при просмотре с помощью Chrome.Плохая производительность элементов фиксированной позиции
При прокрутке страницы вверх и вниз элемент мерцает и дублирует себя.
Обычно, столкнувшись с этой проблемой, я, как правило, смог решить проблему с помощью простого z-индекса, но это не имеет никакого значения для этой конкретной проблемы.
Actual Website элемент в вопросе является черный прокрутки элемент на левой стороне.
Simplified Fiddle to isolate the issue
Вот код из упрощенной скрипки повторить вопрос:
// HTML
<ul id="et-float-menu">
<li class="et-float-menu-item1">
<a id="scrollUp">
<span><img /></span>
</a>
</li>
<li class="et-float-menu-item2">
<a id="scrollDown">
<span><img /></span>
</a>
</li>
</ul>
<div class="jumptosection selected" id="section1">
<h2>Section 1</h2>
</div>
<div class="jumptosection" id="section2">
<h2>Section 2</h2>
</div>
<div class="jumptosection" id="section3">
<h2>Section 3</h2>
</div>
<div class="jumptosection" id="section4">
<h2>Section 4</h2>
</div>
// JS
function changeSelection(sectionFrom, sectionTo) {
if(sectionTo.length > 0) {
sectionFrom.removeClass("selected");
sectionTo.addClass("selected");
jQuery("body").animate({scrollTop: sectionTo.offset().top});
}
}
jQuery(document).on("click", "#scrollDown", function(){
var currentSection = jQuery(".selected");
var nextSection = currentSection.next(".jumptosection");
changeSelection(currentSection, nextSection);
return false;
});
jQuery(document).on("click", "#scrollUp", function(){
var currentSection = jQuery(".selected");
var prevSection = currentSection.prev(".jumptosection");
changeSelection(currentSection, prevSection);
return false;
});
// CSS
.jumptosection {
height: 200px;
background-color:#e8e8e8;
}
#et-float-menu {
position: fixed;
z-index: 11;
left: 0;
top: 45%;
background-color: #000;
padding: 20px 10px 10px 15px;
margin: 0;
-webkit-border-top-right-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-moz-border-radius-topright: 8px;
-moz-border-radius-bottomright: 8px;
border-top-right-radius: 8px;
border-bottom-right-radius: 8px;
}
#et-float-menu a {
padding: 0;
clear: both;
float: left;
margin-bottom: 10px;
color: #fff;
}
#et-float-menu a:hover { color: #b2b2b2; transition: color 300ms ease 0s; }
#et-float-menu li {
display: block;
margin-left: 0;
}
.et-float-menu-item a { display: inline-block; font-size: 24px; position: relative; text-align: center; transition: color 300ms ease 0s; color: #fff; text-decoration: none; }
.et-float-menu-item a:hover { color: #a0a0a0; }
.et-social-icon span { display: none; }
.et-float-menu-item1 a:before { content: '↑';font-size:22px; }
.et-float-menu-item2 a:before { content: '↓';font-size:22px; }
Кто-нибудь знает о причинах этой проблемы и возможного решения?
Я не вижу такого поведения внутри скрипки. Какой браузер и версия вы используете? –
Вы правы, этого не бывает в скрипке ... вот что меня смущает. Это происходит в Chrome, последней версии на Mac. –
Я не вижу поведения в скрипте (последняя версия Chrome на Win7) – ochi