javascript中的Destroy函数
Destroy function in javascript
我有我的应用程序,这将创建下拉选择器很快,因为它找到一个文件夹内的文件夹。最后将显示一个index.html文件。如果有一个名为index.html的文件,它将被加载到iframe中。现在我可以停止显示索引文件并停止创建一个新的下拉选择器,只要该文件在文件夹内。但如果有其他文件夹,如js或css或图像,它会显示它们。谁能帮助我修改代码,只要它得到和index.html文件停止寻找另一个文件夹里面,并停止创建一个新的文件夹。
这里是一个链接,我有应用程序运行http://tdhtestserver.herobo.com/
下面是查找文件夹和html文件的代码并创建下拉选择器function processNewDFData( respObj, $currentSelectItem, strCurrentPath ) {
fsStructure[strCurrentPath] = {'subfolders':[], 'subshtmls':[]};
var hasFolder = false;
if ( (respObj.subfolders.length > 0) || (respObj.subshtmls.length > 0) ) {
for( var i = 0; i < respObj.subfolders.length; i++ ) {
fsStructure[strCurrentPath].subfolders.push( respObj.subfolders[i] );
hasFolder = true;
}
for( var i = 0; i < respObj.subshtmls.length; i++ ) {
fsStructure[strCurrentPath].subshtmls.push( respObj.subshtmls[i] );
}
}
rendSelects( $currentSelectItem, strCurrentPath, hasFolder );
}
function rendSelects($currentSelectItem, strPath, hasFolder) {
var currentSelectLvl = (null === $currentSelectItem ? -1 : parseInt($currentSelectItem.attr('data-selector-level'))),
nextOneSelectorHtml =
'<select class="dropdown selectpicker" name="dd" '
+ 'data-selector-level="' + (currentSelectLvl + 1) + '" '
+ 'data-path="' + strPath + '" '
+ 'onchange="onFsSelectChange(this)"'
+ '><option text selected> -- select an option -- </option>';
$('div.selectors-container select.dropdown').each(function (i, el) {
if(parseInt(el.getAttribute('data-selector-level'))>currentSelectLvl) {
el.parentNode.removeChild(el);
$(el).selectpicker('destroy');
}
});
if ( fsStructure[strPath].subfolders.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subfolders.length; i++) {
if(fsStructure[strPath].subfolders[i] != 'highlighted'){
nextOneSelectorHtml +=
'<option ' +
'class="subfolder-option" ' +
'data-subfolder="' + fsStructure[strPath].subfolders[i] + '">' +
fsStructure[strPath].subfolders[i] +
'</option>';
}
}
}
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'highlighted.html' && fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{high( strPath+'/highlighted.html');}
}
}
if ( fsStructure[strPath].subshtmls.length > 0 ) {
for(var i=0; i < fsStructure[strPath].subshtmls.length; i++) {
if (fsStructure[strPath].subshtmls[i] != 'index.html'){
nextOneSelectorHtml +=
'<option ' +
'style="display: none;" ' +
'class="html-page-option" ' +
'data-html-page-name="' + fsStructure[strPath].subshtmls[i] + '">' +
fsStructure[strPath].subshtmls[i] +
'</option>';
}else{playSwf( strPath+'/index.html');}
}
}
if(hasFolder) {
nextOneSelectorHtml += '</select>';
$('div.selectors-container').append( nextOneSelectorHtml );
$('div.selectors-container').trigger('dropdownadded.mh');
}
}
我所要做的就是将hasFolder = false;
添加到这一行else{playSwf( strPath+'/index.html');hasFolder = false;}
相关文章:
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 如何在JavaScript中将字符串转换为函数引用
- 用嵌套函数和默认函数定义函数
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 无法导出函数expressjs/requestjs中的变量
- 函数参数中的数据与指定变量之间的任何性能差异
- JQuery合并了keyup和focusout两个函数
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 我可以在json对象中添加一个函数吗
- AngularJS:我可以跳过函数参数回调吗
- 如何使jQuery插件函数可调用以供独立使用,而不在集合上操作
- JavaScript数组排序(函数)用于对表行进行排序,而不是排序
- Backbone - model.destroy() 函数未为模型定义
- 在JQuery$destroy之前执行函数
- AngularJS-递归函数禁用$scope.on('destroy')
- Backbone model.destroy()调用错误回调函数,即使它工作正常
- AngularJS中的Destroy函数
- javascript中的Destroy函数