Skip to content

Commit

Permalink
Fix bxSlider bug
Browse files Browse the repository at this point in the history
Sometimes failed to remove loading image on bxslider
  • Loading branch information
NozomiIto committed Mar 17, 2015
1 parent 828a47d commit 99525c8
Showing 1 changed file with 40 additions and 24 deletions.
64 changes: 40 additions & 24 deletions src/main/resources/js/report/report.js
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,12 @@ var slider = null;
*/
var srcTree = null;

/**
* whether scroll bar for slider has already been set
* @type {boolean}
*/
var slideScrollBarSet = false;

/**
* visibility of scrInfo on script table
* @type {boolean}
Expand Down Expand Up @@ -135,7 +141,8 @@ function selectTr(trObject) {
};

/**
* change current slide index to the index for the selected tr
* change current slide index to the index for the selected tr.
* - do nothing if slider is not loaded yet
*/
function syncSlideIndexToSelectedTr() {
var selected = getSelectedTr();
Expand All @@ -150,7 +157,9 @@ function syncSlideIndexToSelectedTr() {
throw new Error("noImage slide not found");
}
}
slider.goToSlide(slideIndex);
if (slider != null) {
slider.goToSlide(slideIndex);
}
};

/**
Expand Down Expand Up @@ -229,8 +238,10 @@ function adjustImageAreaSize() {
$(".bxslider div.scrollContainer").css('height', areaSize.height + 'px');
$("#bxslider_container").css('width', areaSize.width + 'px');
$("#bxslider_container").css('height', areaSize.height + 'px');
$("div.bx-viewport").css('height', areaSize.height + 'px');
}
if (slider != null) {
$("div.bx-viewport").css('height', areaSize.height + 'px');
}
};

/**
* @param {Object} trObject
Expand Down Expand Up @@ -341,18 +352,21 @@ function getSrcTree() {
*/
function selectTrSlideAndRefresh(sliderReload) {
adjustImageAreaSize();
if (sliderReload) {
if (sliderReload && slider != null) {
// reflect size adjust to the slider
slider.reloadSlider();
}
// always need to select again
// since current selection has been lost by reloadSlider
syncSlideIndexToSelectedTr();
// refresh scroll bar
$(".scrollContainer").perfectScrollbar('update');
}
$("#script_table_container").perfectScrollbar('update');
if (slideScrollBarSet) {
$(".bxslider .scrollContainer").perfectScrollbar('update');
}
};

function showSrcInfo() {
function showSrcInfo(refresh) {
$(".srcInfo").show();
$("#showSrcButton").hide();
$("#hideSrcButton").show();
Expand Down Expand Up @@ -505,19 +519,6 @@ $(document).ready(function() {
}
});

slider = $(".bxslider").bxSlider({
speed: 1,
infiniteLoop: false,
hideControlOnEnd: true,
pager: false,
controls: false
});

$(".scrollContainer").perfectScrollbar({
useKeyboard: false,
suppressScrollX: true
});

$(document).on("mousedown", "#script_table tbody tr", function() {
selectTr($(this));
selectTrSlideAndRefresh(false);
Expand Down Expand Up @@ -549,10 +550,25 @@ $(document).ready(function() {
return false;
});

hideSrcInfo();

// select table line for first capture
var firstTrObj = $("#script_table tbody tr:first-child");
selectTr(firstTrObj);
selectTrSlideAndRefresh(true);

hideSrcInfo();

slider = $(".bxslider").bxSlider({
speed: 1,
infiniteLoop: false,
hideControlOnEnd: true,
pager: false,
controls: false
});

$(".scrollContainer").perfectScrollbar({
useKeyboard: false,
suppressScrollX: true
});
slideScrollBarSet = true;

selectTrSlideAndRefresh(false);
});

0 comments on commit 99525c8

Please sign in to comment.