老师我这里报错是什么意思 还有我图片为什么这么大 沾满了屏幕 没有像老师的那样

老师我这里报错是什么意思 还有我图片为什么这么大 沾满了屏幕 没有像老师的那样

https://img1.sycdn.imooc.com//climg/621a16cd094c4e3014940792.jpg


base.js

import {ELEMENT_NODE_TYPE} from './constants.js';

import{DEFAULTS} from './default.js';


class BaseSlider{

constructor(el,options){

if(el.nodeType!=ELEMENT_NODE_TYPE){

console.log('不是DOM元素');

console.log(el.nodeType);

}


this.options={

...DEFAULTS,

...options,

};


const sliderEL=el;

const sliderContenEL=sliderEL.querySelector('.slider-content');

const sliderItemEls=sliderContenEL.querySelector('.slider-item');


this.sliderEL=sliderEL;

this.sliderContenEL=sliderContenEL;

this.sliderContentEls=sliderItemEls;



this.minIndex=0;

this.maxIndex=sliderItemEls.length-1;


this.currIndex=this.getCorrectedIndex(this.options.initialIdex);

this.itemWidth=sliderItemEls[0].offsetWidth;


this.init();

}

init(){

this.setltemsWidth();

this.setContentWidth();

}


setltemsWidth(){

for(const item of this.sliderItemEls){

item.style.width=`${this.itemWidth}px`

}

}


setContentWidth(){

this.sliderContenEl.style.width=`${this.itemWidth*this.sliderItemEls.length}px`

}

getCorrectedIndex(index){

if(index<this.minIndex) return this.maxIndex;

if(index>this.maxIndex) return this.minIndex;


return index;

}

}



export default BaseSlider;


index.js

import BaseSlider from './base.js';

import keydoard from './keyboard.js';



class Slider extends BaseSlider{


constructor(el,options){

super(el,options);


this.bindEvent();


}


bindEvent(){

keydoard.bindEvent(this);

}

}



export default Slider;




index.js

//css

import './slider.css';


//js

import Slider from './module';



new Slider(document.querySelector('.slider'));


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕慕子 2022-02-27 10:17:40

同学你好,对于问题解答如下:

1、因为代码报错,无法正确设置slider区域的样式,所以图片效果不对。

2、截图中报错是无法设置offsetWidth属性,base.js文件中的代码拼写有误,具体参考下图修改:

https://img1.sycdn.imooc.com//climg/621ade8d09903b0408720182.jpg

https://img1.sycdn.imooc.com//climg/621adebd0972a66a09260548.jpg

https://img1.sycdn.imooc.com//climg/621adf3d09b2a96712250624.jpg

祝学习愉快~

  • 老师,我和这位同学的效果相反,我的图片宽度按只有640px,但是我查看图片文件,实际宽度是2732px,请老师帮忙找一下原因,谢谢,这是我的源码地址: https://pan.baidu.com/s/1r17u3ZLEdq_3Xs0snAk4IA?pwd=fcg6 提取码: fcg6 

    2022-03-17 17:10:59
  • 老师这是我的效果


    https://img1.sycdn.imooc.com//climg/6232fb590914e59b19160450.jpg

    2022-03-17 17:11:59
  • 同学你好,代码是按着从上到下的顺序执行,由于引入slider.js文件的代码书写在前面,执行对应的代码时,slider内容还未完整加载,导致代码效果不对。

    建议修改:在topbar之后,引入slider相关的js文件,如下:

    https://img1.sycdn.imooc.com//climg/6233077b099ba12b06870502.jpg

    祝学习愉快~

    2022-03-17 18:03:42
慕尼黑0510008 提问者 2022-02-26 20:04:19

我不知道提供这些代码能不能看出来 我想把整个项目文件都发过来的话应该怎么办

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师