please叫我滚去学习 2022-03-10 22:58 采纳率: 100%
浏览 21
已结题

bootstrap使用标签页出现问题

使用Tabs组件实现一个页面内通过不同的标签页显示不同内容,但是各个标签页间内容显示有问题

img

第一个标签页的内容是一个

<script>
            // Our Javascript will go here.
            const scene = new THREE.Scene();
            const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

            const renderer = new THREE.WebGLRenderer();
            renderer.setSize(window.innerWidth, window.innerHeight);
            document.body.appendChild(renderer.domElement);

            const geometry = new THREE.BoxGeometry();
            const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
            const cube = new THREE.Mesh(geometry, material);
            scene.add(cube);

            camera.position.z = 5;

            function animate() {
                requestAnimationFrame(animate);

                cube.rotation.x += 0.01;
                cube.rotation.y += 0.01;

                renderer.render(scene, camera);
            };

            animate();
        </script>

显示如下:

img


但是切换到第二个标签页它还是显示了

img

问题相关代码
<div class="mdui-tab" mdui-tab>
        <a href="#example1-tab1" class="mdui-ripple">web</a>
        <a href="#example1-tab2" class="mdui-ripple">shopping</a>
        <a href="#example1-tab3" class="mdui-ripple">images</a>
    </div>
    <div id="example1-tab1" class="mdui-p-a-2">
        <script>
            // Our Javascript will go here.
            const scene = new THREE.Scene();
            const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

            const renderer = new THREE.WebGLRenderer();
            renderer.setSize(window.innerWidth, window.innerHeight);
            document.body.appendChild(renderer.domElement);

            const geometry = new THREE.BoxGeometry();
            const material = new THREE.MeshBasicMaterial({ color: 0x00ff00 });
            const cube = new THREE.Mesh(geometry, material);
            scene.add(cube);

            camera.position.z = 5;

            function animate() {
                requestAnimationFrame(animate);

                cube.rotation.x += 0.01;
                cube.rotation.y += 0.01;

                renderer.render(scene, camera);
            };

            animate();
        </script>
    </div>
    <div id="example1-tab2" class="mdui-p-a-2">
        <div class="row">
            <div class="col-2">

            </div>
            <div class="col-8">
                <div>
                    <!-- Wrap the image or canvas element with a block element (container) -->
                    <img id="image" src="./img/a.png">
                </div>
            </div>
            <div class="col-2">

            </div>
        </div>
    </div>
    <div id="example1-tab3" class="mdui-p-a-2">images content</div>

我的解答思路和尝试过的方法

目前觉得就是这个script的问题

我想要达到的结果

每个标签页内容独立不干扰

  • 写回答

1条回答 默认 最新

  • 归来巨星 前端领域新星创作者 2022-03-11 08:58
    关注

    f12 移入下看看 内容是不是被你的js渲染在外面了

    看下层级排查一下

    img


    看你这两行代码 像是直接push到了document文档当中,并不在对应tabs节点之下

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 3月26日
  • 已采纳回答 3月18日
  • 创建了问题 3月10日

悬赏问题

  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持
  • ¥15 stata安慰剂检验作图但是真实值不出现在图上
  • ¥15 c程序不知道为什么得不到结果
  • ¥40 复杂的限制性的商函数处理
  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来