I resolve problem using jQuery, there is code that I use in my case:
jQuery(document).ready(function($){
function Left() {
if ($('#views_slideshow_cycle_div_slide-block_1_0').css('display') == 'block') {
$("#views_slideshow_controls_text_previous_slide-block_1").css({"visibility": "hidden"});
}
else {
$("#views_slideshow_controls_text_previous_slide-block_1").css({"visibility": "visible"});
}
};
function Right() {
if ($('#views_slideshow_cycle_div_slide-block_1_2').css('display') == 'block') {
$("#views_slideshow_controls_text_next_slide-block_1").css({"visibility": "hidden"});
}
else {
$("#views_slideshow_controls_text_next_slide-block_1").css({"visibility": "visible"});
}
};
window.setInterval(function(){
Left();
Right();
}, 10);
});
Because 'previous' is visible until page is fully loaded and then disappear, I add to css:
#views_slideshow_controls_text_previous_slide-block_1 {
visibility: hidden;
}
There is one problem, in example above 'block_1' is views slideshow block, number after '_0' tell that is first slide item and '_2' tell that is third item, so you must change '_2' every time when is number of slide items is changed. For me that code resolve problem because I have only three images in slide and that wasn't ever change.
Maybe someone have better solution or can help fix this problem?