別の関数から呼び出されたjQueryの機能を実行します。しかし、私が達成しようとしているのは、別のJavaScript(非jQuery)関数からjQuery関数を実行/呼び出すことです。は、私は本当にこの質問を表現する方法がわからない
私はこれは行われることになっている方法ですJQ carousel.
に要素を追加しようとしています:ボタンをクリックして。 :
$('#carousel_add').on('click', function(ev) {
$carousel.carousel('reset');
$carousel.append('<div class="carousel_box"> Page '+(z)+' <br/><img src="http://place.to/my/picture/file'+dir+'/0'+z+'.png" width="100px" height="50px"> </div>');
$carousel.carousel('refresh');
document.getElementById('carousel_next').disabled = false;
document.getElementById('carousel_prev').disabled = true;
});
私は追加ボタンなしでそれをしようとしています。私は、JavaScript関数をトリガーするボタンが、カルーセル用の関数を追加するjQueryをトリガーすることを望んでいます。私が午前問題は、関数のスコープ内ではありませんので、私は理解することができた、カルーセル変数が定義されていないと言うことです。
例:
HTML - >
<input type="button" value="Load Pages" function="loadPages();">
のJavaScript(何jQueryのは関与していない)
<script type="text/javascript">
function loadPages()
{
myImage = new Image();
myImage.src = "http://path.to/image/file.png";
//The image is loaded.
//Now I want to add this image to the JQ Carousel
addCarousel(myImage.src);
}
</script>
のJavaScript(jQueryのベースのカルーセル - > JQカルーセル)
<script type="text/javascript">
$(document).ready(function(e) {
var $carousel = $('#carousel').carousel({
group: 6,
indicator: false
}),
$prev = $('#carousel_prev'),
$next = $('#carousel_next'),
set_state = function() {
var state = $carousel.carousel('getMoveState');
switch (state) {
case 'min':
$prev.prop('disabled', 'disabled');
$next.prop('disabled', '');
break;
case 'max':
$prev.prop('disabled', '');
$next.prop('disabled', 'disabled');
break;
case true:
$prev.prop('disabled', '');
$next.prop('disabled', '');
break;
default:
$prev.prop('disabled', 'disabled');
$next.prop('disabled', 'disabled');
}
};
num = 1;
$('#carousel_prev').on('click', function(ev) {
$carousel.carousel('prev');
});
$('#carousel_next').on('click', function(ev) {
$carousel.carousel('next');
});
// ...
$carousel.bind({
'Carousel.next': function() {
set_state();
},
'Carousel.prev': function() {
set_state();
}
});
</script>
今カルーセルが常駐HTML
function addCarousel(image)
{
$carousel.carousel('reset');
$carousel.append('<div class="carousel_box"> Page '+(num++)+' <br/><img src="'+image+'" width="100px"> </div>');
$carousel.carousel('refresh');
document.getElementById('carousel_next').disabled = false;
document.getElementById('carousel_prev').disabled = true;
})
}
それを追加することになっている機能:それは以前のページで宣言されたものの
<div class="carousel">
<div id="carousel" class="carousel_inner">
<div class="carousel_box"> Page 1 <br/><img src="http://path/to/image/file.png" width="100px"></div>
</div>
</div>
<p class="btns">
<input type="button" id="carousel_prev" value="prev" disabled>
<input type="button" id="carousel_next" value="next" >
<input type="button" id="carousel_add" value="add">
</p>
</div>
私は$カルーセルを取得していますが、定義されていません。私は間違っているの?
感謝。これはまた多くの助けになりました! :D –