[英]Getting Javascript Variable or value from another file
我有一個文件./js/onload.js
,里面有這段代碼。
$('#fb5-book').turn({
display: DISPLAY,
duration: 600,
acceleration: true,
elevation: 50,
page: nrPage,
when: {
first: function (e, page) {
$('.fb5-nav-arrow.prev').hide();
},
turned: function (e, page) {
Book_v5.currentPage = page; //Do not delete this, other function use this.
if (page > 1) {
$('.fb5-nav-arrow.prev').fadeIn();
//$('#fb5-about').hide();
}
if ((page == 1 && RTL == 'false') || (page == $(this).turn('pages') && RTL == 'true')) {
$('#fb5-about').css('z-index', 11);
}
if (page < $(this).turn('pages')) {
$('.fb5-nav-arrow.next').fadeIn();
}
在Book_v5.currentPage = page;
如果我添加alert(page)
或console.log(page)
我可以在控制台中獲取警報和數據。
我有一個 index.php 文件。 因為我想創建一個變量let pageNumber=1
並且 pageNumber 的值將根據./js/onload.js
中的page
值更改 我該怎么做?
我在./js/onload.js
中試過這個
let pageNumber=page;
在<script>
標簽內的index.php
中,我嘗試調用pageNumber
它不起作用。 我是 JS 的新手。
有幾種方法可以在 JavaScript 文件之間共享頁面變量的值。 這里有三個選項:
您可以使用全局變量。 在./js/onload.js中,可以這樣定義一個全局變量:
window.pageNumber = page;
然后,在 index.php 中,您可以像這樣訪問 pageNumber 的值:
讓 pageNumber = window.pageNumber; 您可以使用 window.postMessage 方法。 在./js/onload.js中,可以這樣給父window發送消息:
window.parent.postMessage(page, '*');
然后,在 index.php 中,您可以像這樣收聽來自子 window 的消息:
window.addEventListener('message', function(event) {
let pageNumber = event.data;
});
您可以使用像 PubSubJS 這樣的庫來發布和訂閱事件。 在./js/onload.js中,你可以這樣發布一個事件:
PubSub.publish('pageNumber', page);
然后,在 index.php 中,你可以這樣訂閱事件:
PubSub.subscribe('pageNumber', function(msg, pageNumber) {
console.log(pageNumber);
});
最后,我找到了答案。
內部index.php
<script>
let pageNumber = 1;
function updatePageNumber(newPageNumber) {
pageNumber = newPageNumber;
}
</script>
在onload.js
里面我添加了 function
turned: function (e, page) {
// other code here
updatePageNumber(page);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.