调整大小功能会多次附加元素

时间:2015-05-11 13:38:41

标签: javascript jquery scrollbar

我有一些代码需要在调整大小和加载时检测滚动条。这很简单,当我运行$.fn.hasScrollBar = function() { return this.get(0).scrollWidth > this.width(); } $(window).on("resize", function () { var tableWidth = $("table").width(); var wrapper = "<div class='top-scroll'><div class='inner'></div></div>"; var instruction = "<span class='instructions'>Scroll left to see more information</span>"; // This sets the overflow message and a placeholder width to match the table if( $('.no-overflow').hasScrollBar()){ $('.no-overflow').before(wrapper); $('.top-scroll').before(instruction); $('.top-scroll').children().attr("style", "width:" + tableWidth + "px;"); } // This synchronises the scrollbars $(".top-scroll").scroll(function(){ $(".no-overflow") .scrollLeft($(".top-scroll").scrollLeft()); }); $(".no-overflow").scroll(function(){ $(".top-scroll") .scrollLeft($(".no-overflow").scrollLeft()); }); }).resize(); 函数时会出现问题,它会一遍又一遍地附加元素。

下面是我正在使用的jQuery(演示是here

new SqlParameter("@i", i) { TypeName = "MyTVP", SqlDbType = SqlDbType.Structured }

我希望追加只发生一次,并在没有滚动条时删除。

1 个答案:

答案 0 :(得分:0)

检查滚动条:

template <typename VertexClass, typename Others>
class Mesh {};

仅创建一个if ($(document).height() > $(window).height()) { //There is a vertical scrollbar } else { //There is no vertical scrollbar }

.top-scroll

我还会将您的3个变量声明放在if( $('.no-overflow').hasScrollBar() && $('.top-scroll').length < 1) { // Check .top-scroll doesn't exists currently $('.no-overflow').before(wrapper); $('.top-scroll').before(instruction); $('.top-scroll').children().attr("style", "width:" + tableWidth + "px;"); } 语句中,这样只有在语句为真时才会设置它们。当然,除非你在其他地方使用它们。