gpt4 book ai didi

javascript - 在onsen UI 2中通过javascript动态添加新的轮播项目

转载 作者:行者123 更新时间:2023-12-03 04:49:44 39 4
gpt4 key购买 nike

尝试通过 javascript 在 Onsen UI 2 中动态添加新的轮播项目但它现在正在发挥作用。我使用的代码如下

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="node_modules/onsenui/css/onsenui.css"/>
<link rel="stylesheet" href="node_modules/onsenui/css/onsen-css-components.css"/>
<script src="node_modules/onsenui/js/onsenui.js"></script>
<script src="jquery.js"></script>
</head>

<body>
<ons-splitter>
<ons-splitter-side id="menu" side="left" width="220px" collapse swipeable>
<ons-page>
<ons-list>
<ons-list-item onclick="fn.load('home.html')" tappable>
Home
</ons-list-item>
</ons-list>
</ons-page>
</ons-splitter-side>
<ons-splitter-content id="content" page="home.html"></ons-splitter-content>
<ons-navigator id="myNavigator" page="home.html"></ons-navigator>
</ons-splitter>

<ons-template id="home.html">
<ons-page id="home">
<ons-toolbar>
<div class="left">
<ons-toolbar-button onclick="fn.open()">
<ons-icon icon="ion-navicon, material:md-menu" size="32px, material:24px"></ons-icon>
</ons-toolbar-button>
</div>
<div class="center top-bar-title"></div>
<div class="right">
<ons-toolbar-button id="addInCarousel">
<ons-icon icon="ion-ios-plus, material:md-plus" size="32px, material:24px"></ons-icon>
</ons-toolbar-button>
</div>
</ons-toolbar>

<ons-carousel auto-refresh fullscreen swipeable auto-scroll overscrollable id="itemsCarousel" direction="horizontal">
<ons-carousel-item>
<img src="images/01.jpg" style="width: 100%; height: auto;"/>
</ons-carousel-item>
<ons-carousel-item id="caro2">
<img src="images/02.jpg" style="width: 100%; height: auto;"/>
</ons-carousel-item>
</ons-carousel>
</ons-page>
</ons-template>

<script>
window.fn = {};
window.fn.open = function() {
var menu = document.getElementById('menu');
menu.open();
};

window.fn.load = function(page) {
var content = document.getElementById('content');
var menu = document.getElementById('menu');
// content.load(page).then(menu.close.bind(menu));
document.querySelector('#myNavigator').pushPage(page);
menu.close();
};

ons.ready(function() {
var carousel = document.addEventListener('postchange', function(event) {
console.log('Changed to ' + event.activeIndex);
});
});

document.addEventListener("init",function(event) {
var page = event.target;

if( page.matches('#home') ) {
// set page header title
page.querySelector('ons-toolbar .center').innerHTML = 'Testing App';

// clicking on header add button for adding new carousel item
page.querySelector('#addInCarousel').onclick = function() {
console.log("In function");
var onsItem= document.createElement('ons-carousel-item');
onsItem.innerHTML = '<img src="images/020.jpg" style="width: 100%; height: auto;"/>';
document.getElementById('itemsCarousel').appendChild(onsItem);
};
}
}, false);
</script>
</body>
</html>

我用来添加新轮播项目的代码如下:

// clicking on header add button for adding new carousel item
page.querySelector('#addInCarousel').onclick = function() {
console.log("In function");
var onsItem= document.createElement('ons-carousel-item');
onsItem.innerHTML = '<img src="images/020.jpg" style="width: 100%; height: auto;"/>';
document.getElementById('itemsCarousel').appendChild(onsItem);
};

请指导我哪里做错了。任何代码示例或网络链接将不胜感激。

最佳答案

您可以将您的<ons-navigator>里面<ons-splitter-content>并删除 page <ons-splitter-content> 的属性.

<ons-splitter-content id="content">
<ons-navigator id="myNavigator" page="home.html"></ons-navigator>
</ons-splitter-content>

这样就解决了两个home.html的初始化问题页。

您还应该切换 document.getElementById("id")函数中使用 page.querySelector("#id") 的方法方法,因为后者搜索 id在当前页面上。

因此你的函数应该是这样的:

page.querySelector('#addInCarousel').onclick = function() {
console.log("In function");
var onsItem= document.createElement('ons-carousel-item');
onsItem.innerHTML = '<img src="images/020.jpg" style="width: 100%; height: auto;"/>';
page.querySelector('#itemsCarousel').appendChild(onsItem);
};

关于javascript - 在onsen UI 2中通过javascript动态添加新的轮播项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42714656/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com